8

クライアントで OAuth (facebook/twitter) を使用して ServiceStack で認証しようとして混乱しています。クライアントで認証するために私が見るすべての例は、次のように基本的な認証を使用します:

var response = _client.Send<AuthResponse>(new Auth
{
    provider = CredentialsAuthProvider.Name,
    UserName = model.Username,
    Password = model.Password,
    RememberMe = true
});

Facebook でスタンドアロン クライアントを認証するにはどうすればよいですか? 私は FB を呼び出し、UID、アクセス トークン、電子メールなどを取得します。次に、認証するためのサービス スタックへの呼び出しは何ですか?

現在、私の考えは、クライアントでFBで認証を行い、サービスを呼び出してユーザーが存在するかどうかを確認することです(電子メールアドレスを見て)。一部のデータのハッシュをパスワードとして使用して登録およびログインしない場合。それらが存在する場合は、同じ方法でログに記録します。これは合理的/ベストプラクティスですか?

前もって感謝します

4

1 に答える 1

2

Facebook でスタンドアロン クライアントを認証するにはどうすればよいですか? それでは、認証するためのサービススタックへの呼び出しは何ですか?

FacebookAuthProvider ( https://github.com/ServiceStack/ServiceStack/wiki/Authentication-and-authorization ) を使用して、ServiceStack および Facebook への認証を処理できます。リクエスト**を「/auth/facebook」(ServiceStack が提供するエンドポイント) に送信すると、ServiceStack と Facebook に対して認証が行われます。ServiceStack 内では、 を使用して Facebook の「トークン」にアクセスできますUserSession.GetOAuthTokens("facebook")。これらのトークンをクライアントと共有するか、クライアントに (作成した) ServiceStack エンドポイントを通過させて Facebook にアクセスさせることができると思います。TwitterGateway ( https://github.com/ServiceStack/SocialBootstrapApi/blob/master/src/SocialBootstrapApi/Logic/TwitterGateway.cs ) が SocialBootStrapApi の例で機能する方法と同様です。

**{"UserName":"yourname", "Password":"yourpassword", "RememberMe":true/false}

于 2013-02-18T16:08:36.807 に答える