是否可以通过编程方式创建Azure AD B2C租户(例如,使用Powershell,REST API)?
我们正在开发一个多租户SaaS解决方案,我们希望在新租户注册时自动创建Azure B2C租户.
您能否根据它的用途及其差异来定义基于云的身份验证服务Azure AD B2C和B2B(如果有的话).如果可以,请提供网络资源列表.
我有一个使用Azure AD B2C登录的Asp.Net核心Web应用程序.当我http://localhost:54678/在应用程序和Azure门户中的设置中使用回复URL 在本地测试它工作正常,我可以登录并且用户进行身份验证没有问题.但是,一旦我将回复网址更新为该应用的网址https://musdqapp.com,我就会收到以下错误:
message =相关失败
这就是我设置的方式 OpenIdConnectOptions
app.UseOpenIdConnectAuthentication(new OpenIdConnectOptions()
{
Authority = "https://login.microsoftonline.com/tfp" + "/ticketfortb2c.onmicrosoft.com" + "/B2C_1_ticket-fort" + "/v2.0",
ClientId = "client_is", //the id of the b2c application
ClientSecret = "secret",
ResponseType = OpenIdConnectResponseType.IdToken,
UseTokenLifetime = true,
PostLogoutRedirectUri = "https://musdqapp.com/",
Events = new OpenIdConnectEvents()
{
OnTokenValidated = SecurityTokenValidated,
OnRemoteFailure = OnRemoteFailure
}
});
Run Code Online (Sandbox Code Playgroud)
在Azure门户网站上,我将B2C应用程序的回复网址设置为 https://musdqapp.com/signin-oidc
为什么重定向网址必须完全匹配?域级别的匹配是否足以获得适当的安全性?
如果我有数百条路径怎么办?
示例网址:
...
我必须将上面的4个重定向网址输入到我的B2C应用配置中.
我有开发人员一个由oAuth2和Azure B2C保护的API.我现在想要从使用Forms作为其身份验证机制的旧Web表单应用程序访问该API.
我已在客户端成功使用hellojs在单独的浏览器窗口中触发身份验证方法,然后成功使用访问令牌来调用我的API,但我如何从服务器端执行此操作?
我在设置oAuth2时看到的所有示例都涉及使用OWIN中间件保护API(例如使用Facebook登录等),但我需要保留现有的表单身份验证,只需调用调用API并处理访问代码的代码/令牌等
如果我需要后端系统代表用户发出请求,我是否应该在某处安全地存储访问令牌?
正如我从文档中了解到的,Azure AD B2C 会在第一次登录时为来自社交登录(例如 GMail/Facebook)的每个用户创建一个新的本地帐户(请纠正我,如果我错了)。但是我想拦截这个并将用户链接到一个已经存在的(用户自己的)本地帐户,而无需通过自定义策略创建新的本地帐户。
azure-active-directory azure-ad-graph-api azure-ad-b2c identity-experience-framework
我们正在使用带有社交 Idps 和 localAccount 选项的自定义 SignUpSignIn 策略。
当用户单击“注册”并在表单中输入一些详细信息后,然后决定通过单击“取消”按钮取消该过程时,我们收到错误
请让我知道在以下情况下如何处理:1) 本地帐户注册 2) 社交 Idp(Facebook、Google...)
我们可以在政策层面或在注册应用程序时做任何事情吗?请告诉我
谢谢,
我正在使用Azure AD B2C来管理我的ReactJsSPA应用程序和MSAL.js库中的jwt身份验证,以管理令牌,身份验证等,这很有效.
我还有一个静态HTML页面,它位于SPA应用程序的前面,但不是它的一部分.这个HTML页面只是一个设计精美的公众登陆页面,它必须存在用于营销目的.
我需要MSAL从这个HTML页面调用登录,这样我才能获得良好而顺畅的登录体验.目前,HTML页面上的登录按钮只是将用户重定向到我的ReactJs应用程序中的受保护区域.当用户点击受保护的SPA应用程序时,MSAL启动并自动将用户重定向到Azure AD B2C登录页面,该页面工作正常,但体验很难看.这就是我想从HTML页面调用登录过程的原因.我可以用一些帮助.
这是我到目前为止所做的:
首先,我MSAL.js使用以下内容在HTML页面中创建了一个引用:
<script src="https://secure.aadcdn.microsoftonline-p.com/lib/0.1.3/js/msal.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
然后,我<script>在HTML页面中添加了一个部分,以添加必要的Azure AD B2C租户信息.这些是我在ReactJs应用程序中使用的相同参数:
<script>
var instance = 'https://login.microsoftonline.com/tfp/';
var tenant = 'myazureadb2ctenant.onmicrosoft.com';
var signInPolicy = 'B2C_1_SignUp_SignIn';
var applicationId = 'my-application-id';
var scopes = ['https://myazureadb2ctenant.onmicrosoft.com/webclient/readaccess'];
var redirectUri = 'https://example.com/member';
// My function to redirect user to Azure AD B2C sign in/sign up page
var mySignInFunction() {
// What's next here?
};
</script> …Run Code Online (Sandbox Code Playgroud) 我们已经为 Azure B2C 租户中的用户身份验证创建了用户流策略(注册和登录)。当我们尝试运行用户流时,我们无法在配置的应用程序列表中看到我们的应用程序。当我们尝试访问基于应用程序提供的 Azure B2C 授权端点时,我们收到以下错误 AADB2C90068:ID 为“xxx-xx-xxx”的提供的应用程序对此服务无效。请使用通过 B2C 门户创建的应用程序,然后重试。
我们正在开发一种 API,它允许用户通过许多不同的提供商进行身份验证。单独的提供程序不是问题,但事实证明将它们一起使用是一个挑战。
InvalidOperationException当应用程序启动时,似乎添加 1 个以上的提供者会抛出“方案已经存在:承载”。
下面是ConfigureServices函数来自Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.Authority = "Value";
options.Audience = "Value";
})
.AddMicrosoftIdentityWebApi(options =>
{
Configuration.Bind("AzureAdB2C", options);
options.TokenValidationParameters.NameClaimType = "name";
},
options => { Configuration.Bind("AzureAdB2C", options); });
services.AddControllers();
services.AddAuthorization(options =>
{
options.DefaultPolicy = new AuthorizationPolicyBuilder(
JwtBearerDefaults.AuthenticationScheme)
.RequireAuthenticatedUser()
.Build();
});
}
Run Code Online (Sandbox Code Playgroud)
我使用 Microsoft 示例对 Azure AD 进行身份验证作为起点。删除AddJwtBearerorAddMicrosoftIdentityWebApi调用工作正常,但我需要为我们的用例配置两个提供程序。
有没有办法在 .NET Core 3.1 或更高版本上做到这一点?
azure-ad-b2c ×10
azure ×3
asp.net ×1
asp.net-core ×1
c# ×1
identity-experience-framework ×1
jwt ×1
middleware ×1
oauth-2.0 ×1