

OAuth２.0において、認可サーバーから発行された認可コードをサーバー間で共有し、認可サーバーからの発行先と異なるサーバーからリソースへアクセスすることは仕様上許容される操作なのでしょうか。

推奨されないであろうということはわかるのですが、RFC6749などを確認する限り、サードパーティーアプリケーションは単一のサーバーであるということが定義されていないため、仕様上は問題ないのではないかと考えています。  
<https://openid-foundation-japan.github.io/rfc6749.ja.html#client-types>  
もし、こちらについてご存知の方がいらっしゃいましたら、ご教示いただけると幸いです。

*実装イメージ

[![画像の説明をここに入力](https://i.stack.imgur.com/H9uqm.png)](https://i.stack.imgur.com/H9uqm.png)


CC BY-SA 4.0
2023-08-25T01:28:21.190
96039
2023-08-25T10:04:40.787
2023-08-25T10:04:40.787
59570
59570
question
security oauth
oauth2.0 利用時の認可コードはサーバー間で共有しても良い？


認可コードは1回使うと無効化されるので共有することはできません。  
[4.1.2. 認可レスポンス](https://openid-foundation-
japan.github.io/rfc6749.ja.html#code-authz-resp)

> もし認可コードが2回以上使用された場合は, 認可サーバーはリクエストを拒否しなければならず (MUST)

[アクセストークン](https://openid-foundation-
japan.github.io/rfc6749.ja.html#anchor8)を共有したい、という話であれば可能でしょう。  
ただし[クライアント認証](https://openid-foundation-
japan.github.io/rfc6749.ja.html#client-
authentication)において図中のサーバー1,2がともに同一クライアントであるとみなされる必要があります。

(サーバー1, 2
が各々独自にリソースサーバーへアクセスするのではなく、Gatewayサーバー的なものを経由するようにしてアクセスを1本化するのが一般的かと思います。)


CC BY-SA 4.0
2023-08-25T09:48:36.927
96043
2023-08-25T09:48:36.927
2808
96039
answer