0

私はASP.NET Core APIを開発中です。ソーシャルサービスに登録するオプションを追加する必要があります。フェイスブック。 シナリオはたとえばAndroid Appユーザーは、起動時に「Facebookでサインアップ」をクリックする必要があります。その後、Facebookアプリが開き、ユーザーは確認をクリックしてアプリに登録されます。ASP.NET Core API Facebook登録/ログイン

デフォルトのAsp.net Web例では、返されたChallenge()レスポンスをAPIと同じホスト上のWebページでどのようにして、理解したとおりにHTMLページを返すかを示しています。

ここで正しいフローとは何ですか、それを行うための既存のライブラリはありますか? 私が今理解しているように、流れは次のようなものです: 1. APIサーバには私のAppIdとAppSecretがあります。 2. AndroidアプリはAPIサーバから「applciation token」を要求する必要があります。 3. AndroidアプリはそのトークンをFacebookに呼び出し、 "ユーザー確認トークン" 4. AndroidアプリはAPIサーバー に "ユーザー確認トークン"を渡す必要があります。5. APIサーバーは、 "AppId/AppSecretトークン+ユーザー懇願トークン"を使用してFacebookに電話をかけ、ユーザーの詳細を取得し、 。

public IActionResult ExternalLogin(string provider, string returnUrl = null) { 
    // Request a redirect to the external login provider. 
    var redirectUrl = Url.Action("ExternalLoginCallback", "Account", new { ReturnUrl = returnUrl }); 
    var properties = signInManager.ConfigureExternalAuthenticationProperties(provider, redirectUrl); 
    return Challenge(properties, provider); 
: 6. APIサーバは、そのユーザのために 7. Androidアプリだから、少なくとも私は例から、このコードを置き換えるために何を理解したい「APIトークン」

を使用する必要があります「APIトークン」を作成する必要があります

答えて

1

理解すべきことは、VS 2015で提供されているデフォルトのWebアプリケーションテンプレートが、Cookie認証でASP.NET IDを使用していることです。 Cookie認証はウェブブラウザでは機能しますが、アンドロイドアプリで認証するには、Cookieに加えて、またはCookieの代わりにJWTトークンを発行する必要があります。 Microsoftがasp.netコアで提供するものは何も組み込まれておらず、推奨は使用することですIdentityServer4

関連する問題