Azure ActiveDirectoryのアクセストークンとシングルサインオン

7月普通

私はstackoverflowOpenID Azureアクセストークンこのリンクを通過しました。また、GitHubで複数の例を通過しました。シナリオを説明しましょう。

専用ログインを備えたASP.NETMVC Webアプリがありますが、クライアントからAzure Active Directoryとのブレンドを要求されたため、Start_up.csファイルにコードを追加することでブレンドできます(でsecurity_token認証トークンを検証していません)。すべて。必要ですか?)

public void ConfigureAuth(IAppBuilder app)
{         
        string clientId = ConfigurationManager.AppSettings["ida:ClientID"];
        //string appKey = ConfigurationManager.AppSettings["ida:Password"];
        string tenantid = ConfigurationManager.AppSettings["tenantid"];
        //string graphResourceID = "https://graph.windows.net";
        string redirectUrl = ConfigurationManager.AppSettings["redirectUrl"];
        //fixed address for multitenant apps in the public cloud        
        string authority = String.Format(System.Globalization.CultureInfo.InvariantCulture, ConfigurationManager.AppSettings["Authority"], tenantid);

        app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);

        app.UseCookieAuthentication(new CookieAuthenticationOptions {
            CookieSecure = CookieSecureOption.Always,
        });

        app.UseOpenIdConnectAuthentication(
            new OpenIdConnectAuthenticationOptions
            {
                ClientId = clientId,
                Authority = authority,
                RedirectUri = redirectUrl,
                PostLogoutRedirectUri = redirectUrl,
                Scope = OpenIdConnectScopes.OpenIdProfile,
                ResponseType = OpenIdConnectResponseType.CodeIdToken,
                TokenValidationParameters = new System.IdentityModel.Tokens.TokenValidationParameters
                {

                    ValidateIssuer = false,
                },
                Notifications = new OpenIdConnectAuthenticationNotifications()
                {

                    AuthenticationFailed = (context) =>
                    {
                        context.OwinContext.Response.Redirect("/Home/Error");
                        context.HandleResponse(); // Suppress the exception
                        return Task.FromResult(0);
                    }
                }
            });
}

私は使用します

[Authorize] 

コントローラーで確認するために、リクエストは認証され、適切なビューにリダイレクトされます。

しかし、私のクライアントは、access_tokenベースのアクセスを有効にするように特に要求しています。同じようにグラフAPIチュートリアルを使用しようとしています。

Graph APIを使用し、以下にこの種のコードを追加して、access_tokenを取得するための正しいアプローチを使用していますか(参照のみ)?

 AuthorizationCodeReceived = async (context) =>
   {
      var code = context.Code;

      ClientCredential credential = new ClientCredential(clientId, appKey);
      string tenantID = context.AuthenticationTicket.Identity.FindFirst("http://schemas.microsoft.com/identity/claims/tenantid").Value;
      string signedInUserID = context.AuthenticationTicket.Identity.FindFirst(ClaimTypes.NameIdentifier).Value;


      AuthenticationContext authContext = new AuthenticationContext(string.Format("https://login.microsoftonline.com/{0}", tenantID), new EFADALTokenCache(signedInUserID));
      AuthenticationResult result = await authContext.AcquireTokenByAuthorizationCodeAsync(
                            code, new Uri(HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Path)), credential, graphResourceID);
      if(result!=null)
      {
         Console.WriteLine("access code received");
      }
  },
  SecurityTokenValidated = (context) =>
  {
     return Task.FromResult(0);
  }

access_tokenを取得するために他の手段を使用する必要がありますか(grant_typeなどを使用した例はたくさんありますが、もっと混乱します)access_tokenは本当にこのシナリオに適合しますか?

注:これはばかげた質問に聞こえるかもしれませんが、今がその時であり、私はこの混乱を解消しなければなりません。

Marilee Turscak-MSFT

OpenID Connectでは、ユーザーは認証され、Cookieベースの認証を介してSSOできます。認証が完了し、ユーザーを表すトークンがアプリケーションに送信された後、OWINミドルウェアはセッションCookieを作成します。その後、ブラウザは後続のリクエストでこのCookieを使用するため、ユーザーはパスワードを再入力する必要がなく、追加の確認も必要ありません。

あなたが説明していることから、あなたはトークンベースの認証を有効にしているようであり、クライアントの要件を満たしているはずです。

追加のドキュメントについては、次のリポジトリを参照してください:https//github.com/Azure-Samples/active-directory-dotnet-webapp-openidconnect

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Azure ActiveDirectoryシングルサインオン複数のトークンが検出されました問題

分類Dev

Azure ActiveDirectoryログインリダイレクトループ

分類Dev

Azure ActiveDirectory-アクセストークンを保存するためのMVCアプリケーションのベストプラクティス

分類Dev

Azure ActiveDirectoryクライアントの資格情報フロー

分類Dev

Azure ActiveDirectoryアプリケーションとサービスのプリンシパル

分類Dev

Azure ActiveDirectoryはAzureの外部のWebApiでアクセストークンを確認します

分類Dev

Azure ActiveDirectoryでアプリケーションごとにアクセス許可をスコープする方法

分類Dev

Azure AD アプリケーションの Office アドインでのシングル サインオン

分類Dev

Azure Active Directory GraphAPI-サインインしたユーザーのアクセストークン

分類Dev

Azure ActiveDirectory内のアプリケーション間のアクセスを構成できません

分類Dev

Azureのアラートセクションの期間オプション

分類Dev

Azure ActiveDirectoryを使用してServiceFabricアプリケーションのKeyVaultにアクセスする

分類Dev

Azure ServiceBusサブスクリプションクライアント<->サーバー通信(受信と応答)

分類Dev

オンプレミスAD(サブドメイン)とのWindows Azure ActiveDirectory同期

分類Dev

Azure ActiveDirectory-クライアント証明書の使用

分類Dev

Azure:サービスプリンシパルがサービスプリンシパルのリストを取得するためのアクセス許可

分類Dev

CDN エンドポイントを Azure Cloud Service シングル ボックスにマッピングする方法 (1 つのサービス内の複数のサイト (API のリセット))

分類Dev

Azure ADB2Cでのシングルサインオン

分類Dev

Azure ActiveDirectoryでKerberos認証を使用してシングルサインオンを実装する方法

分類Dev

Azureストレージアカウント-コンテナーレベルのアクセスとACL

分類Dev

AzureストレージアカウントのフェイルオーバーとレプリケーションのRA-GRSへのリセット?

分類Dev

Azure ActiveDirectoryを介して複数の保護されたWebAPIにアクセスするためのAngularシングルページアプリケーション

分類Dev

直接リンク付きのAzureファイルストレージアクセスドキュメント

分類Dev

Azure ActiveDirectoryからAPIとMicrosoftGraphの有効なアクセストークンを取得するにはどうすればよいですか?

分類Dev

PHP: 500 サーバー エラー - Microsoft Azure Active Directory アクセスのアクセス トークンの要求

分類Dev

Azure ActiveDirectoryグループによるアプリケーションの要求

分類Dev

Azure AD、アクティブドメイン、シームレスサインオン

分類Dev

Azure ADB2Cと統合されたWebサイトでアクセストークンを取得する

分類Dev

既存のAzureサービスプリンシパルからクライアントシークレットを取得する方法

Related 関連記事

  1. 1

    Azure ActiveDirectoryシングルサインオン複数のトークンが検出されました問題

  2. 2

    Azure ActiveDirectoryログインリダイレクトループ

  3. 3

    Azure ActiveDirectory-アクセストークンを保存するためのMVCアプリケーションのベストプラクティス

  4. 4

    Azure ActiveDirectoryクライアントの資格情報フロー

  5. 5

    Azure ActiveDirectoryアプリケーションとサービスのプリンシパル

  6. 6

    Azure ActiveDirectoryはAzureの外部のWebApiでアクセストークンを確認します

  7. 7

    Azure ActiveDirectoryでアプリケーションごとにアクセス許可をスコープする方法

  8. 8

    Azure AD アプリケーションの Office アドインでのシングル サインオン

  9. 9

    Azure Active Directory GraphAPI-サインインしたユーザーのアクセストークン

  10. 10

    Azure ActiveDirectory内のアプリケーション間のアクセスを構成できません

  11. 11

    Azureのアラートセクションの期間オプション

  12. 12

    Azure ActiveDirectoryを使用してServiceFabricアプリケーションのKeyVaultにアクセスする

  13. 13

    Azure ServiceBusサブスクリプションクライアント<->サーバー通信(受信と応答)

  14. 14

    オンプレミスAD(サブドメイン)とのWindows Azure ActiveDirectory同期

  15. 15

    Azure ActiveDirectory-クライアント証明書の使用

  16. 16

    Azure:サービスプリンシパルがサービスプリンシパルのリストを取得するためのアクセス許可

  17. 17

    CDN エンドポイントを Azure Cloud Service シングル ボックスにマッピングする方法 (1 つのサービス内の複数のサイト (API のリセット))

  18. 18

    Azure ADB2Cでのシングルサインオン

  19. 19

    Azure ActiveDirectoryでKerberos認証を使用してシングルサインオンを実装する方法

  20. 20

    Azureストレージアカウント-コンテナーレベルのアクセスとACL

  21. 21

    AzureストレージアカウントのフェイルオーバーとレプリケーションのRA-GRSへのリセット?

  22. 22

    Azure ActiveDirectoryを介して複数の保護されたWebAPIにアクセスするためのAngularシングルページアプリケーション

  23. 23

    直接リンク付きのAzureファイルストレージアクセスドキュメント

  24. 24

    Azure ActiveDirectoryからAPIとMicrosoftGraphの有効なアクセストークンを取得するにはどうすればよいですか?

  25. 25

    PHP: 500 サーバー エラー - Microsoft Azure Active Directory アクセスのアクセス トークンの要求

  26. 26

    Azure ActiveDirectoryグループによるアプリケーションの要求

  27. 27

    Azure AD、アクティブドメイン、シームレスサインオン

  28. 28

    Azure ADB2Cと統合されたWebサイトでアクセストークンを取得する

  29. 29

    既存のAzureサービスプリンシパルからクライアントシークレットを取得する方法

ホットタグ

アーカイブ