0

私はApp1とApp2を持っており、Active DirectoryでIdentityServer3を使ってSSOを行っています。SSOの状況でアプリの初期化をどこで処理するのですか?

各アプリにはそれぞれ独自のユーザーと役割があります。私はClaimsTransformation OWINミドルウェアを作成し、ユーザー/ロールを取得し、クッキーにシリアル化し、その後の呼び出しを元に戻しました。それはうまくいく。

最初のユーザー登録はどこで処理できますか? App1ユーザーがログオンしてからApp2に行くと、認証をスキップするので、認証ではできません。

ミドルウェアでこれを行うと、ユーザーを登録/プロファイルページにリダイレクトしようとすると、そのリダイレクトがミドルウェアによって再度ヒットし、リダイレクトループが発生します。

提案がありますか?ありがとう。

答えて

0

まったく間違っていましたか? Owin.Security.OpenIdConnectを使用する.NETの場合、アプリケーションの初期化はSecurityTokenValidatedで行う必要があります。スキップしている認証の問題は、Cookie名を設定しなかったためです。

app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOption 
    { 
    SignInAsAuthenticationType = "Cookies", 
    Notifications = new OpenIdConnectAuthenticationNotification 
    { 
     SecurityTokenValidated = n => { ... }