私はAPIアプリケーションを保護しており、ここで見つけたサンプルアプリケーションでADB2Cフローを正常にテストしました:https://github.com/Azure-Samples/active-directory-b2c-xamarin-native。その構造を使用して、サインインプロセスを起動し、保護されたAPI呼び出しにアクセスできます。新しいAD B2CとC#Azure Mobile Clientのlibをどのように統合するのですか?
しかし、私はWindowsAzure.Mobile sdkを便利なものとして使いたいと思っていました。ここでは、https://cgillum.tech/2016/08/10/app-service-auth-and-azure-ad-b2c-part-2/で、そのクラスのLoginAsyncからB2Cフローをトリガーすることができますが、私はそのように呼び出すと何もしません。
また、トークンを取得するためにMSALの呼び出しを置き換えたhttps://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-dotnet-how-to-use-client-library/(「Active Directory認証ライブラリでユーザーを認証する」までスクロールしています)が見つかりました。これは、サインオンの流れをトリガし、私は良いトークンを取得し、バック主張し、その後、私はいくつかのJSONでそれを入れて、そのようにそれを渡します
AuthenticationResult ar = await App.PCApplication.AcquireTokenSilentAsync(App.Scopes, "", App.Authority, App.SignUpSignInpolicy, false);
JObject payload = new JObject();
payload["access_token"] = ar.AccessToken;
user = await App.MobileService.LoginAsync(
MobileServiceAuthenticationProvider.WindowsAzureActiveDirectory, payload);
LoginAsyncこの呼び出しは
{Microsoft.WindowsAzure.MobileServices.MobileServiceInvalidOperationException: You do not have permission to view this directory or page. at Microsoft.WindowsAzure.MobileServices.MobileServiceHttpClient+<ThrowInvalidResponse>d__18.MoveNext() [0x0022f] in <filename unknown>:0 --- End of stack trace from previous location where exception was thrown --- (snip)
一緒に働くようには設計されていませんか?それらの種類のトークンは異なっていますか?私がB2Cを使用している理由は、本当にすべてのOAUTHのことを知りたくないからです:)
動作していないLoginAsync呼び出しを共有できますか?何もしないと言うと、webviewはまったく表示されますか? – mattchenderson
MSALバージョンの呼び出しでwebviewがポップアップし、その部分が正常に動作します。 LoginAsyncの呼び出しは、上のサンプルコードのとおりです。しかし、LoginAsyncを呼び出すと、何も表示されませんでした。 'JObjectペイロード=新しいJObject(); ペイロード["authenticationToken"] = ar.IdToken; var user = mc.LoginAsync(MobileServiceAutureProvider.WindowsAzureActiveDirectory、payload); ' –