-
Notifications
You must be signed in to change notification settings - Fork 4
/
476.txt
82 lines (67 loc) · 3.94 KB
/
476.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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
[1] [[OAuth 2.0]] の[DFN[[RUBYB[[[引数]]]@en[parameter]]]]は、[[要求]]の諸条件を記述したり、
[[応答]]の諸事項を記述したりする名前と値の組です。
* 仕様書
[REFS[
- [3] [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-8.2>
- [10] [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-8.3>
- [12] [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-11.2>
- [8] [CITE[OAuth Parameters]] ([TIME[2015-01-24 07:59:42 +09:00]] 版) <http://www.iana.org/assignments/oauth-parameters/oauth-parameters.xhtml#parameters>
]REFS]
* 構文
[2] [[引数]]がどのように記述されるかは、使われる場面によって異なっています。
[[OAuth 2.0]] では次のような方法の指定をすべてまとめて[[引数]]と呼んでいます。
[FIG(list)[
- [[要求URL]] の [[query]] の [CODE(MIME)@en[[[application/x-www-form-urlencoded]]]] の名前と値の組
- [[リダイレクトURL]] の [[query]] の [CODE(MIME)@en[[[application/x-www-form-urlencoded]]]] の名前と値の組
- [[リダイレクトURL]] の[[素片識別子]]の [CODE(MIME)@en[[[application/x-www-form-urlencoded]]]] の名前と値の組
- [[要求本体]]の [CODE(MIME)@en[[[application/x-www-form-urlencoded]]]] の名前と値の組
- [[応答本体]]の [CODE(MIME)@en[[[application/x-www-form-urlencoded]]]] の名前と値の組
- [[応答本体]]の [[JSON]] の最上位 [[JSONオブジェクト]]の名前と値の組
]FIG]
[4] [[引数]]名は、[[ASCII英数字]]、[CODE[[[-]]]]、[CODE[[[.]]]]、[CODE[[[_]]]]
の1文字以上の[[文字列]]でなければ[['''なりません''']] [SRC[>>3]]。
[5] [[引数]]の値の構文は、名前に依存して決まります。構文は明確に定義されていなければ[['''なりません''']] [SRC[>>3]]。
[6] [[IANA登録簿]]に登録されていない [[vendor]] 特有の拡張は、
[CODE[companyname_]] のような [[vendor prefix]] から始まる[['''べきです''']] [SRC[>>3]]。
;; [7] [[OAuth 1.0]] とは違って [[OAuth 2.0]] では標準の[[引数]]名には共通の接頭辞のようなものがありません。
非標準で [[vendor prefix]] を持たない[[引数]]を使うことも一般には禁止されていないようです。
[11] 拡張の[[承諾型]]で追加の[[引数]]を使う時は、登録しなければ[['''なりません''']] [SRC[>>10]]。
* 引数の一覧
[20] [[URL query]] では次の[[引数]]が使われます。
[FIG(short list)[
- [CODE(URI)@en[[[client_id]]]]
- [CODE(URI)@en[[[code]]]]
- [CODE(URI)@en[[[error]]]]
- [CODE(URI)@en[[[error_description]]]]
- [CODE(URI)@en[[[error_uri]]]]
- [CODE(URI)@en[[[response_type]]]]
- [CODE(URI)@en[[[redirect_uri]]]]
- [CODE(URI)@en[[[scope]]]]
- [CODE(URI)@en[[[state]]]]
]FIG]
[21] [[素片識別子]]では次の[[引数]]が使われます。
[FIG(short list)[
- [CODE(URI)@en[[[access_token]]]]
- [CODE(URI)@en[[[expires_in]]]]
- [CODE(URI)@en[[[scope]]]]
- [CODE(URI)@en[[[state]]]]
- [CODE(URI)@en[[[token_type]]]]
]FIG]
[18] [[payload body]] の [CODE(MIME)@en[[[application/x-www-form-urlencoded]]]]
では次の[[引数]]が使われます。
[FIG(short list)[
- [CODE(URI)@en[[[client_id]]]]
- [CODE(URI)@en[[[client_secret]]]]
- [CODE(URI)@en[[[code]]]]
- [CODE(URI)@en[[[grant_type]]]]
- [CODE(URI)@en[[[redirect_uri]]]]
]FIG]
[22] [[payload body]] の [[JSON]] では次の[[引数]]が使われます。
[FIG(short list)[
- [CODE@en[[[access_token]]]]
- [CODE@en[[[token_type]]]]
- [CODE@en[[[expires_in]]]]
- [CODE@en[[[refresh_token]]]]
- [CODE@en[[[scope]]]]
]FIG]
[9] [[IANA登録簿]] [SRC[>>8]] も用意されています [SRC[>>12]]。