Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure ad b2c 如何以编程方式将B2CLogin.com设置为默认的Azure B2C SSO URL?_Azure Ad B2c - Fatal编程技术网

Azure ad b2c 如何以编程方式将B2CLogin.com设置为默认的Azure B2C SSO URL?

Azure ad b2c 如何以编程方式将B2CLogin.com设置为默认的Azure B2C SSO URL?,azure-ad-b2c,Azure Ad B2c,访问Azure B2C SSO时,我想使用B2Clogin.com而不是login.microsoftonline.com作为默认URL 我读过,上面说我们可以将b2clogin.com与RunNow一起使用。我想知道如何以编程方式设置它?在应用程序配置中,您只需更改https://login.microsoftonline.com至https://{tenant}.b2clogin.comHy 这是我的代码,它适用于b2clogin.com: 这一点很重要: 如果您的租户名称:xxxxxxxx

访问Azure B2C SSO时,我想使用B2Clogin.com而不是login.microsoftonline.com作为默认URL


我读过,上面说我们可以将b2clogin.com与RunNow一起使用。我想知道如何以编程方式设置它?

在应用程序配置中,您只需更改
https://login.microsoftonline.com
https://{tenant}.b2clogin.com

Hy

这是我的代码,它适用于b2clogin.com:

这一点很重要: 如果您的租户名称:xxxxxxxx.onmicrosoft.com,则该租户为xxxxxxxx (它指的是我的变量:)

名称空间wp\u前面
{
公营创业
{
公共IConfiguration配置{get;}
公共启动(IConfiguration配置)
{
配置=配置;
}
public void配置服务(IServiceCollection服务)
{
services.AddAuthentication(选项=>
{
options.DefaultAuthenticateScheme=CookieAuthenticationDefaults.AuthenticationScheme;
options.defaultsignnscheme=CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultChallengeScheme=配置[“signUpInPolicy”];
})
.AddOpenIdConnect(Configuration.GetSection(“Azure”).GetSection(“signUpPolicy”).Value,GetOpenIdConnectOptions(Configuration.GetSection(“Azure”).GetSection(“signUpPolicy”).Value))
.AddOpenIdConnect(Configuration.GetSection(“Azure”).GetSection(“signInPolicy”).Value,GetOpenIdConnectOptions(Configuration.GetSection(“Azure”).GetSection(“signInPolicy”).Value))
.AddOpenIdConnect(Configuration.GetSection(“Azure”).GetSection(“signUpInPolicy”).Value,GetOpenIdConnectOptions(Configuration.GetSection(“Azure”).GetSection(“signUpInPolicy”).Value))
.AddOpenIdConnect(Configuration.GetSection(“Azure”).GetSection(“editProfilePolicy”).Value,GetOpenIdConnectOptions(Configuration.GetSection(“Azure”).GetSection(“editProfilePolicy”).Value))
.AddCookie();
services.AddMvc();
}
公共无效配置(IApplicationBuilder应用程序,IHostingEnvironment环境)
{
app.UseStaticFiles();
app.UseDeveloperExceptionPage();
app.UseAuthentication();
app.UseMvcWithDefaultRoute();
}
私有操作GetOpenIdConnectOptions(字符串策略)
=>选项=>
{
options.MetadataAddress=
$“https://{Configuration.GetSection(“Azure”).GetSection(“租户”).Value}.b2clogin.com/{Configuration.GetSection(“Azure”).GetSection(“租户名称”).Value}/v2.0/.众所周知的/openid配置?p={policy}”;
options.ClientId=Configuration.GetSection(“Azure”).GetSection(“ClientId”).Value;
options.ResponseType=OpenIdConnectResponseType.IdToken;
options.CallbackPath=“/sign/”+策略;
options.SignedOutCallbackPath=“/signout/”+策略;
options.SignedOutRedirectUri=“/”;
options.TokenValidationParameters.NameClaimType=“name”;
options.Events.OnMessageReceived=上下文=>
{
如果(!string.IsNullOrEmpty(context.ProtocolMessage.Error)&&
!string.IsNullOrEmpty(context.ProtocolMessage.ErrorDescription)&&
context.ProtocolMessage.ErrorDescription.StartsWith(“AADB2C90091”))
{
context.Response.Redirect(“/”);
context.HandleResponse();
}
返回Task.FromResult(0);
};
};
}
}

我试过了,但没有成功。这里是配置条目:{0}/v2.0/.well-known/openid配置?p={1}”/>用mytenant.onmicrosoft.com替换了{0}和用policyid替换了{1}有人能帮助解决这个问题吗?我们正在进行一个项目,需要解决这个问题。我正在使用github的示例使它工作。这是示例url:git clone Hi@Kris you include“https://“在ida:AadInstance值中?完整值应类似于
https://mytenant.b2clogin.com/mytenant.onmicrosoft.com/b2c_1_mypolicy/v2.0/.well-known/openid-configuration
@ADB2C community&product PMs-有人可以分享一个工作示例吗?我前面的评论就是一个工作示例。您正在经历或面临什么错误或问题?
namespace wp_front
{
    public class Startup
    {
        public IConfiguration Configuration { get; }
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddAuthentication(options =>
                {
                    options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
                    options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
                    options.DefaultChallengeScheme = Configuration["signUpInPolicy"];
                })
                .AddOpenIdConnect(Configuration.GetSection("Azure").GetSection("signUpPolicy").Value, GetOpenIdConnectOptions(Configuration.GetSection("Azure").GetSection("signUpPolicy").Value))
                .AddOpenIdConnect(Configuration.GetSection("Azure").GetSection("signInPolicy").Value, GetOpenIdConnectOptions(Configuration.GetSection("Azure").GetSection("signInPolicy").Value))
                .AddOpenIdConnect(Configuration.GetSection("Azure").GetSection("signUpInPolicy").Value, GetOpenIdConnectOptions(Configuration.GetSection("Azure").GetSection("signUpInPolicy").Value))
                .AddOpenIdConnect(Configuration.GetSection("Azure").GetSection("editProfilePolicy").Value, GetOpenIdConnectOptions(Configuration.GetSection("Azure").GetSection("editProfilePolicy").Value))

                .AddCookie();

            services.AddMvc();
        }

        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            app.UseStaticFiles();

            app.UseDeveloperExceptionPage();

            app.UseAuthentication();

            app.UseMvcWithDefaultRoute();
        }

        private Action<OpenIdConnectOptions> GetOpenIdConnectOptions(string policy)
            => options =>
            {
                options.MetadataAddress =
                    $"https://{Configuration.GetSection("Azure").GetSection("Tenant").Value}.b2clogin.com/{Configuration.GetSection("Azure").GetSection("TenantName").Value}/v2.0/.well-known/openid-configuration?p={policy}";
                options.ClientId = Configuration.GetSection("Azure").GetSection("ClientId").Value;
                options.ResponseType = OpenIdConnectResponseType.IdToken;
                options.CallbackPath = "/signin/" + policy;
                options.SignedOutCallbackPath = "/signout/" + policy;
                options.SignedOutRedirectUri = "/";
                options.TokenValidationParameters.NameClaimType = "name";
                options.Events.OnMessageReceived = context =>
                {
                    if (!string.IsNullOrEmpty(context.ProtocolMessage.Error) &&
                        !string.IsNullOrEmpty(context.ProtocolMessage.ErrorDescription) &&
                        context.ProtocolMessage.ErrorDescription.StartsWith("AADB2C90091"))
                    {
                        context.Response.Redirect("/");
                        context.HandleResponse();
                    }

                    return Task.FromResult(0);
                };
            };
    }
}