1

Azure B2C を .NET MVC アプリに実装していますが、ログイン URL に追加のクエリ パラメーターを追加する必要があります。

これがstartup.csで設定した方法です

var openIdConnectAuthenticationOptions = new OpenIdConnectAuthenticationOptions
            {
                // Generate the metadata address using the tenant and policy information
                MetadataAddress = String.Format(Globals.WellKnownMetadata, Globals.Tenant, Globals.DefaultPolicy),

                // These are standard OpenID Connect parameters, with values pulled from web.config
                ClientId = Globals.ClientId,
                RedirectUri = Globals.RedirectUri,
                PostLogoutRedirectUri = Globals.RedirectUri,

                // Specify the callbacks for each type of notifications
                Notifications = new OpenIdConnectAuthenticationNotifications
                {
                    RedirectToIdentityProvider = OnRedirectToIdentityProvider,
                    AuthorizationCodeReceived = OnAuthorizationCodeReceived,
                    AuthenticationFailed = OnAuthenticationFailed
                },

                // Specify the claim type that specifies the Name property.
                TokenValidationParameters = new TokenValidationParameters
                {
                    NameClaimType = "name",
                    ValidateIssuer = false
                },

                // Specify the scope by appending all of the scopes requested into one string (separated by a blank space)
                Scope = $"openid",
                ResponseType = "id_token",
            };

            app.UseOpenIdConnectAuthentication(
              openIdConnectAuthenticationOptions
            );

そして、誰かが [authorized] タグ付けされたページにアクセスしようとすると、次の b2c URL に送信されます。

https://mytenant.b2clogin.com/mytenant.onmicrosoft.com/oauth2/v2.0/authorize?p=b2c_custom_signin&client_id=0000-000000-000-00&redirect_uri=https://localhost&response_type=id_token&scope=openid&x-client-SKU= ID_NET461&x-client-ver=5.3.0.0

ただし、末尾に追加のクエリ パラメータ「&appId=000-000-000」を追加する必要があるため、結果のログイン URL は次のようになります。

https://mytenant.b2clogin.com/mytenant.onmicrosoft.com/oauth2/v2.0/authorize?p=b2c_custom_signin&client_id=0000-000000-000-00&redirect_uri=https://localhost&response_type=id_token&scope=openid&x-client-SKU= ID_NET461&x-client-ver=5.3.0.0 &appId=000-000-000

どうすればこれを行うことができますか?

4

1 に答える 1