私は、バックエンドとしてモバイルクライアントによって使用されるWeb APIプロジェクトでFacebook認証を実装しようとしています。ローカルログインはありません。Web APIでFacebook認証を使用する方法
私はMicrosoft's documentationで説明した手順に従って、Visual StudioのWeb APIテンプレートを使用してプロジェクトを作成しました。
app.UseFacebookAuthentication(
appId: "***",
appSecret: "***");
それから私はLocalDBデータベースを作成し、設定します。それに応じてFacebookのパネル上のURIをリダイレクトして、私はStartup.Auth.csファイルのid &秘密を設定し、私はすでに、Facebookアプリ同上&秘密を持っている私は、OAuthの設定しましたするdefaultConnection文字列をweb.configファイル:
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=webapidb;Integrated Security=True;Pooling=False" providerName="System.Data.SqlClient" />
私はプロジェクトを実行すると、私はログインを開始するためにGETしてAccount.GetExternalLogin(?/ API /アカウント/ ExternalLogin /プロバイダ=フェイスブック)メソッドを使用することができます。 Facebookの承認ページにリダイレクトされました。その後、GetExternalLoginにリダイレクトされると、メソッドの "エラー"パラメータがnullであることがわかります。私はまた、User.Identity.IsAuthenticatedの時計を追加し、メソッド内で真と評価します。
今までのことはすべて期待どおりでした。
しかしGetExternalLoginメソッドが完了すると、私は、任意の[認証] -decoratedメソッドを呼び出すようにしてみてください(のような/API// 3値)と私はHTTP401不正なエラーが発生します。
さらにもう1つは、AspNetUsersテーブルを開いてもレコードがない場合、そこに保存されているFacebook IDとユーザー名が表示されることを期待していたことです。
クライアントが認証メカニズムをどのように消費すべきか、ユーザーIDと名前をデータベースに保存するにはどうすればよいか説明してください。
ありがとうございます!