web-dev-qa-db-ja.com

OAuth 2.0:暗黙の許可フローに対するauthorization_code許可フローの利点は何ですか?

クライアントにautorization_codeを与えて、それをwebapp側のアクセストークンと交換することの利点は何なのか理解できません。代わりに、なぜクライアントにaccess_tokenを与え、クライアントにこの情報をwebappに渡して安全なリソースにアクセスするよう依頼しないのか。これはとにかく暗黙の付与で何が起こるかです。

2
Gopal

確かに、あなたはそれを行うことができます、そして実際、それはあなたが述べたようにサポートされたフローです。ただし、コードのポイントは、クライアント自体がトークンにアクセスできないようにすることです。これは、トークンをサービスの使用が必要な人と共有するのではなく、Webアプリ自体の内部に限定されるため、トークンの盗用や漏洩を防ぎます。

フローはさまざまなシナリオに適用されることに注意してください。

暗黙的なフローは、トークンへのアクセスが必要なときに使用されますが、ユーザーのマシンでローカルに実行されているアプリなどのクライアントを信頼できない/信頼できない-悪意のあるユーザーが簡単にクライアントになりすます可能性があります。

たとえば、アクセスできないリモートマシン上でホストされているため、クライアントを信頼して検証できる場合にコードフローが使用されます。

2
Steve