* 仕様書

[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-4.2.2>
- [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-5.1>
- [5] [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-7>
- [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-8.1>
- [20] [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.1>
- [21] [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.13>
- [18] [CITE[OAuth Parameters]] ([TIME[2015-01-24 07:59:42 +09:00]] 版) <http://www.iana.org/assignments/oauth-parameters/oauth-parameters.xhtml#token-types>
]REFS]

* 意味

[7] [[アクセストークン]]は、[RUBYB[[[アクセストークン型]]]@en[access token type]]を持ちます。

[6] [[資源鯖]]の[[被保護資源]]にアクセスする際の[[認証]]の具体的方式は、
[[アクセストークン型]]によって異なります [SRC[>>5]]。

[9] [[クライアント]]は、理解しない[[アクセストークン型]]の[[アクセストークン]]を使っては[['''なりません''']] [SRC[>>5]]。

[10] [[アクセストークン型]]は、[[アクセストークン]]と共に[[クライアント]]に送信されるべき追加の[[属性]]を規定できます [SRC[>>5]]。

[11] [[アクセストークン型]]は、[[被保護資源]]への[[要求]]で[[アクセストークン]]を指定するために使う [[HTTP認証]]方式を定義できます [SRC[>>5]]。

* 構文

[13] [[アクセストークン型]]は、[[IANA登録簿]] [SRC[>>18]] に登録 [SRC[>>20]] した値か、
[[絶対URI]]のいずれかです [SRC[>>12]]。

[14] [[絶対URI]]は、共通に適用可能ではない [[vendor]] 特有の実装に限定する[['''べき''']]ものです [SRC[>>12]]。

[15] それ以外は[[ASCII英数字]]、[CODE[[[-]]]]、[CODE[[[.]]]]、[CODE[[[_]]]]
のみで構成される1文字以上の[[文字列]]でなければ[['''なりません''']] [SRC[>>12]]。

[16] [[絶対URI]]でない値は、[[IANA]] に登録しなければ[['''なりません''']]。
[[アクセストークン型]]の定義に新しい [[HTTP]] [[認証方式]]が含まれているなら、
[[認証方式]]の名前と同じとする[['''べき''']]です。 [SRC[>>12]]

[17] [[大文字・小文字不区別]]です [SRC[>>1, >>7]]。

;; [19] [[URL]] が使えるのに区別なしとは。。。

[22] [CODE(URI)@en[[[grant_type]]]] [[引数]]の構文は >>15 または [[RFC 3986]]
[[URI参照]]となっており、 >>14 以外に[[相対URI]]も認められていることになります
[SRC[>>21]] が、その意図するところは不明です。

* 文脈

[2] [[認可エンドポイント]]からの[[リダイレクトURL]]の[[素片識別子]]の
[CODE(URI)@en[[[token_type]]]] [[引数]]には、[[トークン]]の種別を指定しなければ[['''なりません''']]
[SRC[>>1]]。

[4] [[トークンエンドポイント]]からの[[アクセストークン]]を含む [[JSON]] の
[CODE(URI)@en[[[token_type]]]] [[引数]]には、[[トークン]]の種別を指定しなければ[['''なりません''']]
[SRC[>>3]]。

* アクセストークン型の一覧

[8] 次の[[アクセストークン型]]があります。
[FIG(short list)[
- [CODE(HTTP)@en[[[bearer]]]]
- [CODE(HTTP)@en[[[mac]]]]
]FIG]

* メモ

[23] [[アクセストークン型]]によって[[アクセストークン]]の利用方法は異なります。
しかし[[クライアント]]から[[アクセストークン型]]を指定する方法は無いようです。
予め[[認可鯖]]の[[ドキュメント]]などで知っておくしかないのでしょう。