-
Notifications
You must be signed in to change notification settings - Fork 4
/
372.txt
64 lines (50 loc) · 4.26 KB
/
372.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
[4] [DFN[[RUBYB[[[資源所有者]]]@en[resource owner]]]]は、[[OAuth]]
によってアクセスされる対象となる[[資源]]の所有者である[[利用者]]です。
[[Webアプリケーション]]の [[Web API]] においては、アクセスされる対象の権限を有する
(人間) [[利用者]]を意味しています。
* 仕様書
[REFS[
- [1] [CITE@en[RFC 5849 - The OAuth 1.0 Protocol]]
([TIME[2014-12-28 14:19:21 +09:00]] 版)
<http://tools.ietf.org/html/rfc5849#section-1.1>
- [22] '''[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.1>'''
- [9] [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-4.3.2>
- [11] [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#appendix-A>
]REFS]
* 意味
[24] [[OAuth 1.0]] [DFN[[RUBYB[資源所有者]@en[resource owner]]]]は、
[[credentials]] を使って[[鯖]]と[[認証]]することにより[[被保護資源]]をアクセス、
制御する能力のある[[実体]]です [SRC[>>1]]。
;; [2] 元々は[[資源所有者]]のことを[DFN[[RUBYB[利用者]@en[user]]]]ともいいました [SRC[>>1]]。
[23] [[OAuth 2.0]] [DFN[[RUBYB[資源所有者]@en[resource owner]]]]は、
[[被保護資源]]へのアクセスを[RUBYB[[[承諾]]]@en[grant]]する能力のある[[実体]]です。
[[資源所有者]]が[[人間]]の時は、[[末端利用者]]を指します。 [SRC[>>22]]
[3] [[資源所有者]]は、[[鯖]]において自身を識別する何らかの方法
([[鯖]]の提供するサービス上の[[アカウント]]) を有しているのが普通です。
その[[認証]]に使う[[合言葉]]などの [[credentials]] を[[鯖]]と[[資源所有者]]の間で事前に共有しているのが普通です。
;; [7] その具体的な仕組みや形式は [[OAuth]] の仕様の範囲外であり、
[[鯖]]が自由に決定できます。多くの[[Webサービス]]では、
最初に[[資源所有者]]が登録した[[利用者名]]ないし[[電子メールアドレス]]と[[合言葉]]との組を使って[[ログイン]]し、
[[セッションクッキー]]を発行して以後は[[Cookie認証]]を用いる形を採っています。
その他 [[HTTP]] [[基本認証]]などを使うこともできます。
[5] [[OAuth 1.0]] や多くの [[OAuth 2.0]] [[認可承諾]]フローでは、
[[資源所有者]]の [[credentials]] を[[クライアント]]に伝える必要はありません。
これが [[OAuth]] の大きな特徴の一つとされています。
[6] [[OAuth 2.0]] [[資源所有者合言葉credentials]]フローでは、
[[資源所有者]]の [[credentials]] を一旦[[クライアント]]に伝える必要があります。
[[クライアント]]は[[アクセストークン]]を取得したらその [[credentials]]
を破棄することになっています。
;; [8] 本方式を使う場合、[[鯖]]は[[資源所有者]]の[[利用者名]]と[[合言葉]]の組を登録または発行しておく必要があります。
これは当該 [[Webサービス]]の通常の[[ログイン]]時に用いるものであっても構いませんし、
[[OAuth]] 専用のものであっても構いません。 (どちらにするかは当該
[[Webサービス]]の性質や[[セキュリティー]]の方針によるでしょう。)
[10] [[トークンエンドポイント]]の [DFN[[CODE(URI)@en[[[username]]]]]] [[引数]]と
[DFN[[CODE(URI)@en[[[password]]]]]] [[引数]]は、[[資源所有者合言葉password]]フローの要求において、
それぞれ[[資源所有者]]の[[利用者名]]と[[合言葉]]を指定しなければ[['''なりません''']]
[SRC[>>9]]。
;; [[トークンエンドポイント]]を参照。
[12] [CODE(URI)@en[[[username]]]] と [CODE(URI)@en[[[password]]]] の値は、
0文字以上の [[Unicode]] [[符号位置]]の列です。ただし、
[CODE(char)[[[U+0009]]]] を除く[[C0制御文字]]、[CODE(char)[[[U+007F]]]]、
[[サロゲート]]、[CODE(char)[[[U+FFFE]]]]、[CODE(char)[[[U+FFFF]]]]
は禁止されています。 [SRC[>>11]]