だから、モバイルクライアントからのOAuth2の私の理解は次のとおりです。OAuth2では、モバイルクライアントから認証コードまたはトークンをサービスに送信する必要がありますか?
- モバイルクライアントが
- リソースホルダーが戻っ
auth_code
auth_code
とaccess_token
と交換される応答クライアントIDを使用してユーザー認証を取得するためにページをリダイレクトしますrefresh_token
上記の場合、モバイルアプリをサポートするウェブサービスがある場合は、access_token
とrefresh_token
が含まれているため、ユーザーのアクセス権を取り消されていない限り、引き続きユーザーのデータにアクセスできます。
私が持っていた質問は、auth_code
をサービスに送ってトークンを交換する必要がありますか?または、クライアントがauth_code
を交換し、結果のトークンをサービスに送信する必要がありますか?それは問題ではないのでしょうか、あるいは異なる実装で異なるのでしょうか?私はクライアントの秘密がサービスにのみ保存されていると仮定しています。refresh_token
を新しいaccess_token
に交換する必要がありますが、auth_code
についてはわかりませんでした。
ああ、クライアントの秘密を秘密にすることはセキュリティ上のリスクではないでしょうか?私の理解は、アプリケーションのパスワードのようなものであり、あなたがあなたであることを証明します。 – Rollie
はい、クライアント内部にクライアントシークレットを格納することはセキュリティ上のリスクです。なぜなら、そこからクライアントを抽出できないようにすることはできないからです。しかし、クライアントシークレットをサービスに保存すると、クライアントはそれを要求して - クライアントとサービスの間の通信が暗号化されている限り(それはどんな場合でも)セキュリティは問題ありません – MiMo