/
431.txt
31 lines (21 loc) · 2.09 KB
/
431.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
* 仕様書
[REFS[
- [1] [CITE@en[RFC 6749 - The OAuth 2.0 Authorization Framework]] ([TIME[2014-12-15 14:15:35 +09:00]] 版) <http://tools.ietf.org/html/rfc6749#section-1.3.1>
]REFS]
* 意味
[2] [DFN[[RUBYB[認可符号]@en[authorization code]]]]は、[[資源所有者]]による[[認可]]を[[鯖]]から[[クライアント]]に知らせ、
[[クライアント]]が[[鯖]]から[[アクセストークン]]を得るための[[符号]]です。
[3] [[クライアント]]は、[[資源所有者]]に直接[[認可]]を求めるのではなく、
まず[[認可鯖]]へと[[リダイレクト]]します。 [SRC[>>1]]
[4] [[認可鯖]]は、[[資源所有者]]を[[認証]]し、([[クライアント]]によるアクセスの) [[認可]]を得てから、
[[認可符号]]を添えて[[資源所有者]]を[[クライアント]]へと[[リダイレクト]]して戻します。 [SRC[>>1]]
[5] [[クライアント]]はその[[認可符号]]を使って[[アクセストークン]]を得ることができます。
;; [6] [[OAuth 2.0]] 仕様書は、“[[認可鯖]]を[[クライアント]]と[[資源所有者]]の間の[RUBYB[中間器]@en[intermediary]]として使う” [SRC[>>1]] と表現しています。
([[HTTP]] における[[中間器]] (≒ [[串]]) とは意味が異なります。)
;; [7] 本[[承諾型]]では[[資源所有者]]は[[認可鯖]]に対してのみ[[認証]]しますから、
[[資源所有者]]の [[credentials]] を[[クライアント]]が知る必要はありません [SRC[>>1]]。
;; [8] 本[[承諾型]]では ([[認可符号]]からの[[アクセストークン]]取得時に)
[[認可鯖]]が[[クライアント]]を[[認証]]することができます [SRC[>>1]]。
;; [9] 本[[承諾型]]では[[資源所有者]]や第三者に晒さず直接[[クライアント]]に[[アクセストークン]]を渡すことができます [SRC[>>1]]。
[[Webブラウザー]]上で動作する[[スクリプト]]や [[Webブラウザー]]の脆弱性、
[[中間者攻撃]]、悪意ある[[資源所有者]]などによる漏洩を防ぐことができます。