私はカスタムのウェブベースのソーシャルネットワークアプリのネイティブモバイルアプリを開発しています。 Webサーバーと通信するためのREST APIを構築しており、認証方法としてOAuth2を選択しました(grant_type=password
フロー)。OAuth2「ソーシャルログイン」フロー(Facebook/Twitter経由のOAuth2認証を許可):例/文献はありますか?
web-appを使用すると、ユーザーは外部サービス(FacebookやTwitterなど)を使用してログインしてサインアップできます。モバイルアプリでも同じことを許可する必要があります。問題は、どうしたらいいのでしょうか?
Pinterestモバイルアプリは状況を管理することができます(添付画像参照)。ここで使用されているフローは何ですか?
彼らは、古典的なOAuthのパワードアプリ(モバイルアプリはFacebookのAPIを直接のOAuthクライアントとして動作する?)のように動作しています。もしそうなら、モバイルアプリはPinterestサーバーでどのように認証できますか? FacebookのOAuthアクセストークンを資格情報として渡していますか?
問題のグラフィカル表現(????
標識矢印を参照)
Website API Mobile app Facebook OAuth
+ + +
| | |
| | /oauth2/token |
| +------------------------------>|
| | |
| | OAuth Access Token |
| |<-----------------------------+|
| | |
| ???? | |
|- - - - - - - - - - - - - -| |
| | |
| | |
| OAuth Access Token | |
|+------------------------->| |
| | |
| | |
| API Usage (w/ token) | |
|+------------------------->| |
|<-------------------------+| |
| | |
|+------------------------->| |
|<-------------------------+| |
| | |
| ... | |
+ + +
更新:鉱山にThis question is quite similar ..これは従うべき正しいパスである場合、第3 +第二工程(カスタムAPIへのFacebookトークンの送信、トークン自体の検証)は、追加のOAuth2認可タイプ(すなわち、facebook_token
)ではありませんでしたか?
すべてのAPIリクエストをプロキシし、URL、ヘッダー、リクエストパラメータを変更してはどうでしょうか? – makevoid
それはどういう意味ですか? :) –
こんにちは、まったく同じ問題に直面しています。あなたはそれを行うための実用的な解決策を見つけましたか?ありがとうございました –