2017-05-15 5 views
2

Azure AD B2Cで設定されたサインインポリシーをカスタム画面で使用しようとしています。私はADAL C#ライブラリを使用しています。.NetクライアントアプリケーションからのB2Cサインインポリシーの使用

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 Loginが取得されますが、代わりにB2Cポリシーエンドポイントが必要です。何か案は?

答えて

3

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; 
関連する問題