从 .Net 客户端应用程序使用 B2C 登录策略
Use B2C Sign-In-Policy from .Net Client App
我正在尝试将在 Azure AD B2C 中配置的登录策略与自定义屏幕一起使用。我正在使用 ADAL C# 库。
var clientid = "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa";
var redirecturi = "http://AppName";
var resourceid = "https://login.microsoftonline.com/tenant.onmicrosoft.com/oauth2/v2.0/authorize?p=B2C_1_EMailSignInPolicy";
var authority = "https://login.microsoftonline.com/tenant.onmicrosoft.com";
var authcontext = new AuthenticationContext(authority);
var result = authcontext.AcquireTokenAsync(resourceid, clientid, new Uri(redirecturi), new PlatformParameters(PromptBehavior.Auto)).Result;
如果我 运行 这将获得 Microsoft OAuth 登录名,但我想要 B2C 策略端点。有什么想法吗?
我通过从 ADAL 切换到 MSAL.Net(Microsoft.Identity.Client 库)解决了这个问题,该库目前处于预览状态。
var clientid = "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa";
var policy = "B2C_1_Policy";
var redirecturi = "appname://appname/redirect/path";
var authority = $"https://login.microsoftonline.com/tfp/tenant/{policy}/oauth2/v2.0/authorize";
var pca = new PublicClientApplication(clientid, authority) { RedirectUri = redirecturi };
string[] scopes = new[] { };
var result = pca.AcquireTokenAsync(scopes).Result;
我正在尝试将在 Azure AD B2C 中配置的登录策略与自定义屏幕一起使用。我正在使用 ADAL C# 库。
var clientid = "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa";
var redirecturi = "http://AppName";
var resourceid = "https://login.microsoftonline.com/tenant.onmicrosoft.com/oauth2/v2.0/authorize?p=B2C_1_EMailSignInPolicy";
var authority = "https://login.microsoftonline.com/tenant.onmicrosoft.com";
var authcontext = new AuthenticationContext(authority);
var result = authcontext.AcquireTokenAsync(resourceid, clientid, new Uri(redirecturi), new PlatformParameters(PromptBehavior.Auto)).Result;
如果我 运行 这将获得 Microsoft OAuth 登录名,但我想要 B2C 策略端点。有什么想法吗?
我通过从 ADAL 切换到 MSAL.Net(Microsoft.Identity.Client 库)解决了这个问题,该库目前处于预览状态。
var clientid = "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa";
var policy = "B2C_1_Policy";
var redirecturi = "appname://appname/redirect/path";
var authority = $"https://login.microsoftonline.com/tfp/tenant/{policy}/oauth2/v2.0/authorize";
var pca = new PublicClientApplication(clientid, authority) { RedirectUri = redirecturi };
string[] scopes = new[] { };
var result = pca.AcquireTokenAsync(scopes).Result;