# (OpenID Connect Core 1.0) 1. Introduction
###### tags: `oauth2/oidc`
担当::@hijiki51:
[toc]
## 1. Introduction
OpenID Connect CoreはOAuth2.0 の上にシンプルな認証レイヤーを付与したものである。
これによって、以下のことが可能になる。
- Authorizaton Server での認証結果を利用してEnd-Userのアイデンティティの検証
- End-Userの必要最低限のプロフィールをRESTfulな形で公開
OpenID Connect はOAuth 2.0 の認可プロセスを拡張して、認証目的で利用できるようにする。本拡張を利用する場合、Client は scope に`openid`を指定してAuthorization Requestを送信する。
認証結果は、ID Token と呼ばれる JWT として返却される。
## 1.2 Terminology
重要なものだけかいつまんで紹介する。
今後の輪読会資料においては、必要に応じて、()内で定義された略称をいる。
- OpenID Connect(OIDC)
- この仕様によって定義されたプロトコルのこと
- OpenID Provider(OP)
- OpenID Connect を実装した OAuth2.0 Authorization Server
- End-Userの認証を行うことができる。
- Relying Party(RP)
- OpenID Connect を利用する OAuth2.0 Client
- 本仕様では、すでにRPはOPに必要な情報を登録しているものとする
- また、OPの必要な情報も取得しているものとする
- 通常 OpenID Discovery で取得可能
- Authentication Context
- RPが認証を行う前に要求できる情報
- 認証方式やLoAのようなものがそうとするが、これに限られない
- Authentication Contest Class
- 特定のコンテキストで等価と考えることのできる認証方式の集合
- Authentication Context Class Reference
- Authentication Context Class の識別子
- `urn:oasis:names:tc:SAML:2.0:ac:classes:Password`など
- SAMLがベースになってるっぽいけどよくわからん
- Entity
- あるコンテキストの中で識別される、ほかと独立した存在。
- End-Userが該当する
- Pairwise Pseudonymous Identifier (PPID)
- 特定のコンテキストで一意になる識別子
- OIDCの文脈では、 RP内でのみ一意になる識別子を指す
- ほかのRPではこのIDをEntityと紐づけることができない
- Personally Identifiable Information (PII)
- 特定の人物に直接・間接的に紐づき、実際の人物の識別に用いることができる情報
- 個人情報
- Subject Identifier
- 単純に Subject といわれることもある
- Issuer にとって特定のコンテキスト、もしくは全体で一意な End-User 識別子
- 詳細は 8. Subject Identifier Types で
- Validation
- あるものごとの正当性や健全性を確立するためのプロセス
- ものごとが「正常な」形式・フォーマットであることが保証される
- その値自身が「正しい」かどうかを検証するものではない
- Verification
- その値自身が「正しい」かどうかを検証する
- AuthN
- **Auth**e**N**tication
- AuthZ
- **Auth**ori**Z**ation