SlideShare a Scribd company logo
1 of 116
Download to read offline
2015.8.26
OpenID ファウンデーション・ジャパン
倉林 雅
OpenID Connect 入門

∼コンシューマーにおけるID連携のトレンド∼
倉林林  雅(kura)  
OpenID  ファウンデーション・ジャパン

                                          エヴァンジェリスト  
ヤフー株式会社  IDサービス  エンジニア  
ID厨  
@kura_̲lab
アジェンダ
1. 解説の前に
2. OpenID Connectの特徴
3. OpenID Connectの流れ
4. IDトークンについて
5. UserInfo Endpointについて
解説の前に
RPはつらいよ
数年年に⼀一度度くらいの頻度度で

                            新しい認証・認可プロトコルがでてくる  
…SAML・OpenID・OAuth  1.0・OAuth  2.0  
対応するにも実装⽅方法全然違う  
SOAP  or  RESTful  /  XML  or  JSON
RPはつらいよ
これまでのプロトコルに⽐比べて

                OpenID  Connectは実装が簡単  
いろいろなユースケースに対応している  
Apps:Web・Native  
Flow:Authorization  Code・Implicit・Hybrid
RPはつらいよ
それぞれ実装⽅方法、検証⽅方法が微妙に異異なっていて
複数のクライアント・フローを実装するのはツライ  
ですが、パスワードを⾃自前で管理理するコストを

                          考えれば全然楽なもの
IdPはもっとつらいよ
何世代も前のプロトコルもまだまだ現役  
改修するにもビルドもできなくてメンテがツライ  
パスワードの管理理はかなりセンシティブ  
ハッシュ化・アクセス制限
RPはつらくない
IdPに⽐比べたらRPはそこまでつらくない  
ぜひOpenID  Connectを覚えてかえってください!
OpenID Connectの特徴
OpenID Connect
2014年2月27日ローンチ
OpenID ConnectはOAuth 2.0を

            拡張したプロトコル
OpenIDって名前がついてますが、

         OpenID 2.0とは異なります
基本的にOpenIDは認証の技術
(OpenID AXで属性を取得できますが)
OpenIDは認証
OAuth 1.0・OAuth 2.0は認可の技術
ユーザーのリソースアクセス(Web API)が目的
OAuthは認可
認証も認可も
認証も認可もやりたい場合は

   OpenIDもOAuthも実装しなくてはいけない
そこで実装しやすいOAuth 2.0を拡張して

               認証機能を追加
認可認証
OpenID Connect
さらに属性取得機能も
よく利用されるユーザーの属性情報APIの

            仕様も定義されている
ユーザー識別子・氏名・性別・生年・

         住所・メールアドレスなど
認可認証
OpenID Connect
属性取得
OpenID Connect
ID連携のトレンド!
http://openid.net/connect/
OpenID Connectの流れ
OpenID Connect 認証フロー
Authorization Code Flow
サーバーサイドで認証
Implicit Flow
クライアントサイドで認証
Hybrid Flow
サーバーサイド・クライアントサイドの両方で認証
基本のフローをみてみよう
基本となる「Authorization Code Flow」を

まずは覚えよう
OAuth 2.0のフローと比較しながら

OpenID Connectで追加された処理と

             ポイントを確認しよう
OAuth 2.0
Authorization Code Flow
IdPRPEnd-User
Resource
Server
Start OAuth
IdPRPEnd-User
Authorization Request (Redirect)
Resource
Server
Start OAuth
IdPRPEnd-User
Authorization Request (Redirect)
Resource
Server
Start OAuth
Login / Consent
IdPRPEnd-User
Authorization Request (Redirect)
Resource
Server
Start OAuth
Authorization Code (Redirect)
Login / Consent
IdPRPEnd-User
Authorization Request (Redirect)
Resource
Server
Start OAuth
Authorization Code (Redirect)
Login / Consent
Token Request
Access Token / Refresh Token
IdPRPEnd-User
Authorization Request (Redirect)
Resource
Server
Start OAuth
Authorization Code (Redirect)
Login / Consent
Token Request
Access Token / Refresh Token
Resource Access
Resource
OpenID Connect
Authorization Code Flow
IdPRPEnd-User
UserInfo
Endpoint
Start OpenID Connect
IdPRPEnd-User
Authorization Request (Redirect)
UserInfo
Endpoint
Start OpenID Connect
HTTP/1.1 302 Found
Location: https://server.example.com/authorize?
response_type=code
&scope=openid%20profile%20email
&client_id=s6BhdRkqt3
&state=af0ifjsldkj
&nonce=n-0S6_WzA2Mj
&redirect_uri=https%3A%2F
%2Fclient.example.org%2Fcb
Authorization Request
HTTP/1.1 302 Found
Location: https://server.example.com/authorize?
response_type=code
&scope=openid%20profile%20email
&client_id=s6BhdRkqt3
&state=af0ifjsldkj
&nonce=n-0S6_WzA2Mj
&redirect_uri=https%3A%2F
%2Fclient.example.org%2Fcb
Authorization Request
Scopeパラメーターに
openid は必須
HTTP/1.1 302 Found
Location: https://server.example.com/authorize?
response_type=code
&scope=openid%20profile%20email
&client_id=s6BhdRkqt3
&state=af0ifjsldkj
&nonce=n-0S6_WzA2Mj
&redirect_uri=https%3A%2F
%2Fclient.example.org%2Fcb
Authorization Request
取得する属性情報を指定
HTTP/1.1 302 Found
Location: https://server.example.com/authorize?
response_type=code
&scope=openid%20profile%20email
&client_id=s6BhdRkqt3
&state=af0ifjsldkj
&nonce=n-0S6_WzA2Mj
&redirect_uri=https%3A%2F
%2Fclient.example.org%2Fcb
Authorization Request
CSRF対策のランダム文字列を指定
セッションにひも付けて保存しておく
HTTP/1.1 302 Found
Location: https://server.example.com/authorize?
response_type=code
&scope=openid%20profile%20email
&client_id=s6BhdRkqt3
&state=af0ifjsldkj
&nonce=n-0S6_WzA2Mj
&redirect_uri=https%3A%2F
%2Fclient.example.org%2Fcb
Authorization Request
リプレイアタック対策のランダム文字列を指定
セッションにひも付けて保存しておく
IdPRPEnd-User
Authorization Request (Redirect)
UserInfo
Endpoint
Start OpenID Connect
IdPRPEnd-User
Authorization Request (Redirect)
UserInfo
Endpoint
Login / Consent
Start OpenID Connect
IdPRPEnd-User
Authorization Request (Redirect)
UserInfo
Endpoint
Authorization Code (Redirect)
Login / Consent
Start OpenID Connect
HTTP/1.1 302 Found
Location: https://client.example.org/cb?
code=SplxlOBeZQQYbYS6WxSbIA
&state=af0ifjsldkj
Authorization Response
HTTP/1.1 302 Found
Location: https://client.example.org/cb?
code=SplxlOBeZQQYbYS6WxSbIA
&state=af0ifjsldkj
Authorization Response
Authorization Code(認可コード)

がクエリに付与されて返却される
HTTP/1.1 302 Found
Location: https://client.example.org/cb?
code=SplxlOBeZQQYbYS6WxSbIA
&state=af0ifjsldkj
Authorization Response
セッションにひも付けておいた
State値と比較
値が一致しない場合は処理を中断
IdPRPEnd-User
Authorization Request (Redirect)
UserInfo
Endpoint
Authorization Code (Redirect)
Login / Consent
Start OpenID Connect
IdPRPEnd-User
Authorization Request (Redirect)
UserInfo
Endpoint
Authorization Code (Redirect)
Login / Consent
Token Request
Start OpenID Connect
POST /token HTTP/1.1
Host: server.example.com
Content-Type: application/x-www-form-urlencoded
Authorization: Basic
czZCaGRSa3F0MzpnWDFmQmF0M2JW
grant_type=authorization_code

&code=SplxlOBeZQQYbYS6WxSbIA
&redirect_uri=https%3A%2F
%2Fclient.example.org%2Fcb
Token Request
POST /token HTTP/1.1
Host: server.example.com
Content-Type: application/x-www-form-urlencoded
Authorization: Basic
czZCaGRSa3F0MzpnWDFmQmF0M2JW
grant_type=authorization_code

&code=SplxlOBeZQQYbYS6WxSbIA
&redirect_uri=https%3A%2F
%2Fclient.example.org%2Fcb
Token Request
Basic認証
base64_encode(Client_ID . : . Secret);
POST /token HTTP/1.1
Host: server.example.com
Content-Type: application/x-www-form-urlencoded
Authorization: Basic
czZCaGRSa3F0MzpnWDFmQmF0M2JW
grant_type=authorization_code

&code=SplxlOBeZQQYbYS6WxSbIA
&redirect_uri=https%3A%2F
%2Fclient.example.org%2Fcb
Token Request
取得したAuthorization Codeを指定
POST /token HTTP/1.1
Host: server.example.com
Content-Type: application/x-www-form-urlencoded
Authorization: Basic
czZCaGRSa3F0MzpnWDFmQmF0M2JW
grant_type=authorization_code

&code=SplxlOBeZQQYbYS6WxSbIA
&redirect_uri=https%3A%2F
%2Fclient.example.org%2Fcb
Token Request
SecretやAuthorization Codeを

扱うので POST メソッド
IdPRPEnd-User
Authorization Request (Redirect)
UserInfo
Endpoint
Authorization Code (Redirect)
Login / Consent
Token Request
Start OpenID Connect
IdPRPEnd-User
Authorization Request (Redirect)
UserInfo
Endpoint
Authorization Code (Redirect)
Login / Consent
Token Request
Access Token / Refresh Token / ID Token
Start OpenID Connect
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache
{
"access_token": "SlAV32hkKG",
"token_type": "Bearer",
"refresh_token": "8xLOxBtZp8",
"expires_in": 3600,
"id_token":
“eyJhbGciOi6IjFlOWdkazcifQ.eyJewogImlzc6ICJzZCaGRSa3F0MyIsCiA
ibm9uY2UiOiODA5NzAKfQ.eyJggW8hZ16IcmD3HP99Obi1PRs-
cwhJ3LO-p146waJMzqg"
}
Token Response
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache
{
"access_token": "SlAV32hkKG",
"token_type": "Bearer",
"refresh_token": "8xLOxBtZp8",
"expires_in": 3600,
"id_token":
“eyJhbGciOi6IjFlOWdkazcifQ.eyJewogImlzc6ICJzZCaGRSa3F0MyIsCiA
ibm9uY2UiOiODA5NzAKfQ.eyJggW8hZ16IcmD3HP99Obi1PRs-
cwhJ3LO-p146waJMzqg"
}
Token Response
JSON形式(XMLじゃない)
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache
{
"access_token": "SlAV32hkKG",
"token_type": "Bearer",
"refresh_token": "8xLOxBtZp8",
"expires_in": 3600,
"id_token":
“eyJhbGciOi6IjFlOWdkazcifQ.eyJewogImlzc6ICJzZCaGRSa3F0MyIsCiA
ibm9uY2UiOiODA5NzAKfQ.eyJggW8hZ16IcmD3HP99Obi1PRs-
cwhJ3LO-p146waJMzqg"
}
Token Response
Access Tokenと

Refresh Tokenを取得
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache
{
"access_token": "SlAV32hkKG",
"token_type": "Bearer",
"refresh_token": "8xLOxBtZp8",
"expires_in": 3600,
"id_token":
“eyJhbGciOi6IjFlOWdkazcifQ.eyJewogImlzc6ICJzZCaGRSa3F0MyIsCiA
ibm9uY2UiOiODA5NzAKfQ.eyJggW8hZ16IcmD3HP99Obi1PRs-
cwhJ3LO-p146waJMzqg"
}
Token Response
Access Tokenは Bearer形式
Authorization: Bearer <Access Token>
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache
{
"access_token": "SlAV32hkKG",
"token_type": "Bearer",
"refresh_token": "8xLOxBtZp8",
"expires_in": 3600,
"id_token":
“eyJhbGciOi6IjFlOWdkazcifQ.eyJewogImlzc6ICJzZCaGRSa3F0MyIsCiA
ibm9uY2UiOiODA5NzAKfQ.eyJggW8hZ16IcmD3HP99Obi1PRs-
cwhJ3LO-p146waJMzqg"
}
Token Response
ID Token(認証用トークン)を取得
シグネチャとデコードして各パラメーターを検証
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache
{
"access_token": "SlAV32hkKG",
"token_type": "Bearer",
"refresh_token": "8xLOxBtZp8",
"expires_in": 3600,
"id_token":
“eyJhbGciOi6IjFlOWdkazcifQ.eyJewogImlzc6ICJzZCaGRSa3F0MyIsCiA
ibm9uY2UiOiODA5NzAKfQ.JggW8hZ16IcmD3HP99Obi1PRs-
cwhJ3LO-p146waJMzqg"
}
Token Response
eyj...eyj...(テンション↑↑)
IdPRPEnd-User
Authorization Request (Redirect)
UserInfo
Endpoint
Authorization Code (Redirect)
Login / Consent
Token Request
Access Token / Refresh Token / ID Token
Start OpenID Connect
IdPRPEnd-User
Authorization Request (Redirect)
UserInfo
Endpoint
Authorization Code (Redirect)
Login / Consent
Token Request
Access Token / Refresh Token / ID Token
Resource Access
Start OpenID Connect
GET /userinfo HTTP/1.1
Host: server.example.com
Authorization: Bearer SlAV32hkKG…segsef
UserInfo Request
GET /userinfo HTTP/1.1
Host: server.example.com
Authorization: Bearer SlAV32hkKG…segsef
UserInfo Request
Bearerトークン
Authorization: Bearer <Access Token>
IdPRPEnd-User
Authorization Request (Redirect)
UserInfo
Endpoint
Authorization Code (Redirect)
Login / Consent
Token Request
Access Token / Refresh Token / ID Token
Resource Access
Start OpenID Connect
IdPRPEnd-User
Authorization Request (Redirect)
UserInfo
Endpoint
Authorization Code (Redirect)
Login / Consent
Token Request
Access Token / Refresh Token / ID Token
Resource Access
Resource
Start OpenID Connect
HTTP/1.1 200 OK
Content-Type: application/json
{
"sub": "248289761001",
"name": "Jane Doe",
"given_name": "Jane",
"family_name": "Doe",
"preferred_username": "j.doe",
"picture": “http://example.com/janedoe/me.jpg”,
"email": "janedoe@example.com"
}
UserInfo Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"sub": "248289761001",
"name": "Jane Doe",
"given_name": "Jane",
"family_name": "Doe",
"preferred_username": "j.doe",
"picture": “http://example.com/janedoe/me.jpg”,
"email": "janedoe@example.com"
}
UserInfo Response
JSON形式(XMLじゃない)
HTTP/1.1 200 OK
Content-Type: application/json
{
"sub": "248289761001",
"name": "Jane Doe",
"given_name": "Jane",
"family_name": "Doe",
"preferred_username": "j.doe",
"picture": “http://example.com/janedoe/me.jpg”,
"email": "janedoe@example.com"
}
UserInfo Response
ユーザー識別子(openid)
HTTP/1.1 200 OK
Content-Type: application/json
{
"sub": "248289761001",
"name": "Jane Doe",
"given_name": "Jane",
"family_name": "Doe",
"preferred_username": "j.doe",
"picture": “http://example.com/janedoe/me.jpg”,
"email": "janedoe@example.com"
}
UserInfo Response
プロフィール情報(profile)
HTTP/1.1 200 OK
Content-Type: application/json
{
"sub": "248289761001",
"name": "Jane Doe",
"given_name": "Jane",
"family_name": "Doe",
"preferred_username": "j.doe",
"picture": “http://example.com/janedoe/me.jpg”,
"email": "janedoe@example.com"
}
UserInfo Response
メールアドレス(email)
サービス導入例
GREEログイン Y!ログイン YConnect 同意画面 GREE登録
倉林雅
倉林
雅
GREEログイン Y!ログイン YConnect 同意画面 GREE登録
倉林雅
倉林
雅
RPのログインボタン
OpenID Connect開始
IdPRPEnd-User
UserInfo
Endpoint
Start OpenID Connect
IdPRPEnd-User
Authorization Request (Redirect)
UserInfo
Endpoint
Start OpenID Connect
IdPRPEnd-User
Authorization Request (Redirect)
UserInfo
Endpoint
Login / Consent
Start OpenID Connect
GREEログイン Y!ログイン YConnect 同意画面 GREE登録
倉林雅
倉林
雅
IdPのログイン

(認証機能)
GREEログイン Y!ログイン YConnect 同意画面 GREE登録
倉林雅
倉林
雅
アプリへの
アクセス確認
属性・API
利用内容
IdPRPEnd-User
Authorization Request (Redirect)
UserInfo
Endpoint
Login / Consent
Start OpenID Connect
IdPRPEnd-User
Authorization Request (Redirect)
UserInfo
Endpoint
Authorization Code (Redirect)
Login / Consent
Start OpenID Connect
IdPRPEnd-User
Authorization Request (Redirect)
UserInfo
Endpoint
Authorization Code (Redirect)
Login / Consent
Token Request
Access Token / Refresh Token / ID Token
Start OpenID Connect
IdPRPEnd-User
Authorization Request (Redirect)
UserInfo
Endpoint
Authorization Code (Redirect)
Login / Consent
Token Request
Access Token / Refresh Token / ID Token
Resource Access
Resource
Start OpenID Connect
GREEログイン Y!ログイン YConnect 同意画面 GREE登録
倉林雅
倉林
雅氏名・生年・性別

のプリセット

(属性情報取得機能)
IDトークンについて
issuer  が  audience  のために    
subject  を認証したかを⽰示すトークン
IDトークンとは
issuer  が  audience  のために    
subject  を認証したかを⽰示すトークン
Identity Provider
IDトークンとは
issuer  が  audience  のために    
subject  を認証したかを⽰示すトークン
Relying Party
IDトークンとは
issuer  が  audience  のために    
subject  を認証したかを⽰示すトークン
End-User
IDトークンとは
Facebook  が  SlideShare  のために    
kura  を認証したかを⽰示すトークン
IDトークンとは
Yahoo!  が  GREE  のために    
kura  を認証したかを⽰示すトークン
IDトークンとは
フォーマット
JSON Web Token
JSONを(URLSafeな)Base64エンコードした
シグネチャ(署名)付きトークン
ヘッダー・ペイロード・シグネチャで構成される
シグネチャはハッシュ(HMAC)と公開鍵暗号
(RSA・ECDSA)
{
“typ”:”JWT”,
“alg”:”RS256”
}
ヘッダー
{
“typ”:”JWT”,
“alg”:”RS256”
}
ヘッダー
タイプ:JSON Web Token
JWTで jot(ジョット) と発音
{
“typ”:”JWT”,
“alg”:”RS256”
}
ヘッダー
シグネチャのアルゴリズム
RSA-SHA256
{
“iss”:”https://auth.login.yahoo.co.jp”,
“sub”:”123456789”,
“aud”:”abcdefg”,
“nonce”:”xyz”,
“iat”:1291836800,
“exp”:1300819380
}
ペイロード
{
“iss”:”https://auth.login.yahoo.co.jp”,
“sub”:”123456789”,
“aud”:”abcdefg”,
“nonce”:”xyz”,
“iat”:1291836800,
“exp”:1300819380
}
ペイロード
issuer
IDトークンの発行者
{
“iss”:”https://auth.login.yahoo.co.jp”,
“sub”:”123456789”,
“aud”:”abcdefg”,
“nonce”:”xyz”,
“iat”:1291836800,
“exp”:1300819380
}
ペイロード
subject
ユーザー識別子(認証の対象者)
{
“iss”:”https://auth.login.yahoo.co.jp”,
“sub”:”123456789”,
“aud”:”abcdefg”,
“nonce”:”xyz”,
“iat”:1291836800,
“exp”:1300819380
}
ペイロード
audience
Client ID(IDトークンの払い出し先)
{
“iss”:”https://auth.login.yahoo.co.jp”,
“sub”:”123456789”,
“aud”:”abcdefg”,
“nonce”:”xyz”,
“iat”:1291836800,
“exp”:1300819380
}
ペイロード
セッションにひも付けておいた
Nonce値と比較する
値が一致しない場合は処理を中断
{
“iss”:”https://auth.login.yahoo.co.jp”,
“sub”:”123456789”,
“aud”:”abcdefg”,
“nonce”:”xyz”,
“iat”:1291836800,
“exp”:1300819380
}
ペイロード
issue at
発行時のUnixタイムスタンプ
有効期限は発行から10分くらいにするとよいかも
{
“iss”:”https://auth.login.yahoo.co.jp”,
“sub”:”123456789”,
“aud”:”abcdefg”,
“nonce”:”xyz”,
“iat”:1291836800,
“exp”:1300819380
}
ペイロード
expiration
IDトークンの有効期限
RPで発行するCookieの有効期限の基準にしてもよい
同じ期限にしなくてもよい
{
“typ”:”JWT”,
“alg”:”RS256”
}


{
“iss”:”https://example.com”,
“sub”:”123456789”,
“aud”:”abcdefg”,
“nonce”:”xyz”,
“iat”:1291836800,
“exp”:1300819380
}
シグネチャ
{
“typ”:”JWT”,
“alg”:”RS256”
}


{
“iss”:”https://example.com”,
“sub”:”123456789”,
“aud”:”abcdefg”,
“nonce”:”xyz”,
“iat”:1291836800,
“exp”:1300819380
}
シグネチャ
Base64エンコード
URL Safeに変換
+ → -
/ → _
= →
eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9


eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogIm
h0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ
シグネチャ
eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9


eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogIm
h0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ
シグネチャ
JSONの「{ 」をBase64エンコードすると
先頭が「eyJ」になる(テンション↑↑)
eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9
.

eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogIm
h0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ
シグネチャ
ヘッダーとペイロードを
. (ピリオド)で連結
eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9
.

eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogIm
h0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ
シグネチャ
秘密鍵でシグネチャを生成
(RSA-SHA256)
eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9
.

eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogIm
h0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ
dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk
シグネチャ
生成されたシグネチャを

Base64エンコード(URL Safe)
eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9


eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogIm
h0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ
dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk
IDトークン
eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9
.

eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogIm
h0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ
.
dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk
IDトークン
ヘッダーとペイロードを
. (ピリオド)で連結
eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9
.

eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogIm
h0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ
.
dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk
IDトークン
IDトークン完成
eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9
.

eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogIm
h0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ
.
dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk
IDトークンの検証
「ヘッダー + . + ペイロード」を
入力データとする
eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9
.

eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogIm
h0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ
.
dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk
IDトークンの検証
入力データとシグネチャを公開鍵で検証する
UserInfo Endpointについて
UserInfo
OpenID Connectではよく利用される氏名や住所、
メールアドレスなどの属性情報を取得しやすいよう
に属性情報(Claim)を定義している
OpenID Connect対応のIdP各社から同じScopeを
指定して同じフォーマットで属性情報を取得できる
定義されている属性
メンバー scope 説明
sub - ユーザー識別子
name profile 氏名
given_name profile 名
family_name profile 姓
middle_name profile ミドルネーム
nickname profile ニックネーム
preferred_

username
profile 簡略名
メンバー scope 説明
profile profile
プロフィール情報
のURL
picture profile
プロフィール画像
のURL
website profile サイトURL
email email メールアドレス
email_verified email
メールアドレスの
検証済みの有無
gender profile 性別
birthdate profile 生年月日
定義されている属性
メンバー scope 説明
zoneinfo profile タイムゾーン
locale profile 国コード
phone_number phone 電話番号
phone_number_verified phone
電話番号の検証済み

の有無
address address 住所
updated_at profile 属性情報更新日時
UserInfoを活用しよう
UserInfoで取得できる属性情報

(⽒氏名・住所・メールアドレスなど)

で新規登録フォームをプリセット  
わずらわしいフォームの⼊入⼒力力を

省省略略できてコンバージョンアップ

(⾦金金融系・コマース系サイトなど)
倉林雅
倉林
雅
まとめ
1. OpenID Connectの特徴
OAuth 2.0ベース・認証・認可・属性取得
2. OpenID Connectの流れ
基本となるAuthorization Code Flow
3. IDトークンについて
JSON Web Token
4. UserInfo Endpointについて
よく利用しそうな属性情報が定義されている
ご清聴ありがとう
ございました。

More Related Content

What's hot

Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門Hiroyuki Wada
 
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~Tatsuo Kudo
 
俺が考えた最強のID連携デザインパターン
俺が考えた最強のID連携デザインパターン俺が考えた最強のID連携デザインパターン
俺が考えた最強のID連携デザインパターンMasaru Kurahayashi
 
OpenID ConnectとAndroidアプリのログインサイクル
OpenID ConnectとAndroidアプリのログインサイクルOpenID ConnectとAndroidアプリのログインサイクル
OpenID ConnectとAndroidアプリのログインサイクルMasaru Kurahayashi
 
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15OpenID Foundation Japan
 
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014Nov Matake
 
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説貴仁 大和屋
 
基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装Masatoshi Tada
 
KeycloakのDevice Flow、CIBAについて
KeycloakのDevice Flow、CIBAについてKeycloakのDevice Flow、CIBAについて
KeycloakのDevice Flow、CIBAについてHiroyuki Wada
 
Azure AD B2CにIdPを色々と繋いでみる
Azure AD B2CにIdPを色々と繋いでみるAzure AD B2CにIdPを色々と繋いでみる
Azure AD B2CにIdPを色々と繋いでみるNaohiro Fujie
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021Hiroshi Tokumaru
 
最近のKeycloakのご紹介 ~クライアントポリシーとFAPI~
最近のKeycloakのご紹介 ~クライアントポリシーとFAPI~最近のKeycloakのご紹介 ~クライアントポリシーとFAPI~
最近のKeycloakのご紹介 ~クライアントポリシーとFAPI~Hitachi, Ltd. OSS Solution Center.
 
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallZabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallAtsushi Tanaka
 
FIWARE の ID 管理、アクセス制御、API 管理
FIWARE の ID 管理、アクセス制御、API 管理FIWARE の ID 管理、アクセス制御、API 管理
FIWARE の ID 管理、アクセス制御、API 管理fisuda
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことAmazon Web Services Japan
 
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介Hiroyuki Wada
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル貴志 上坂
 

What's hot (20)

Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門
 
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
 
俺が考えた最強のID連携デザインパターン
俺が考えた最強のID連携デザインパターン俺が考えた最強のID連携デザインパターン
俺が考えた最強のID連携デザインパターン
 
OpenID ConnectとAndroidアプリのログインサイクル
OpenID ConnectとAndroidアプリのログインサイクルOpenID ConnectとAndroidアプリのログインサイクル
OpenID ConnectとAndroidアプリのログインサイクル
 
Keycloak入門
Keycloak入門Keycloak入門
Keycloak入門
 
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15
 
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
 
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説
 
基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装
 
KeycloakのDevice Flow、CIBAについて
KeycloakのDevice Flow、CIBAについてKeycloakのDevice Flow、CIBAについて
KeycloakのDevice Flow、CIBAについて
 
Azure AD B2CにIdPを色々と繋いでみる
Azure AD B2CにIdPを色々と繋いでみるAzure AD B2CにIdPを色々と繋いでみる
Azure AD B2CにIdPを色々と繋いでみる
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
最近のKeycloakのご紹介 ~クライアントポリシーとFAPI~
最近のKeycloakのご紹介 ~クライアントポリシーとFAPI~最近のKeycloakのご紹介 ~クライアントポリシーとFAPI~
最近のKeycloakのご紹介 ~クライアントポリシーとFAPI~
 
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallZabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
 
FIWARE の ID 管理、アクセス制御、API 管理
FIWARE の ID 管理、アクセス制御、API 管理FIWARE の ID 管理、アクセス制御、API 管理
FIWARE の ID 管理、アクセス制御、API 管理
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介
 
NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
 

Viewers also liked

ID連携概要 - OpenID TechNight vol.13
ID連携概要 - OpenID TechNight vol.13ID連携概要 - OpenID TechNight vol.13
ID連携概要 - OpenID TechNight vol.13Nov Matake
 
今更聞けないOAuth2.0
今更聞けないOAuth2.0今更聞けないOAuth2.0
今更聞けないOAuth2.0Takahiro Sato
 
OAuth認証について
OAuth認証についてOAuth認証について
OAuth認証についてYoshifumi Sato
 
ID連携のあるとき~、ないとき~ #エンプラ編
ID連携のあるとき~、ないとき~ #エンプラ編ID連携のあるとき~、ないとき~ #エンプラ編
ID連携のあるとき~、ないとき~ #エンプラ編Takashi Yahata
 
Office365のIdentity管理
Office365のIdentity管理Office365のIdentity管理
Office365のIdentity管理Naohiro Fujie
 
エンタープライズITでのOpenID Connect利用ガイドライン
エンタープライズITでのOpenID Connect利用ガイドラインエンタープライズITでのOpenID Connect利用ガイドライン
エンタープライズITでのOpenID Connect利用ガイドラインTatsuo Kudo
 
Oauth2.0とか(認証と認可)_201403
Oauth2.0とか(認証と認可)_201403Oauth2.0とか(認証と認可)_201403
Oauth2.0とか(認証と認可)_201403Shunsuke Mihara
 
OAuth 2.0の概要とセキュリティ
OAuth 2.0の概要とセキュリティOAuth 2.0の概要とセキュリティ
OAuth 2.0の概要とセキュリティHiroshi Hayakawa
 
ハイブリッド時代のID基盤構成の基礎
ハイブリッド時代のID基盤構成の基礎ハイブリッド時代のID基盤構成の基礎
ハイブリッド時代のID基盤構成の基礎Naohiro Fujie
 
Ad(microsoftの方)のOpenId Connect対応
Ad(microsoftの方)のOpenId Connect対応Ad(microsoftの方)のOpenId Connect対応
Ad(microsoftの方)のOpenId Connect対応Naohiro Fujie
 
OpenID ConnectとSCIMの標準化動向
OpenID ConnectとSCIMの標準化動向OpenID ConnectとSCIMの標準化動向
OpenID ConnectとSCIMの標準化動向Tatsuo Kudo
 
Laravelの認証について
Laravelの認証についてLaravelの認証について
Laravelの認証についてTakeo Noda
 
ITエンジニアのための英語勉強法
ITエンジニアのための英語勉強法ITエンジニアのための英語勉強法
ITエンジニアのための英語勉強法Etsuji Nakai
 
OpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンスOpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンスOpenID Foundation Japan
 
Beginning Java EE 6 勉強会(6) #bje_study
Beginning Java EE 6 勉強会(6) #bje_studyBeginning Java EE 6 勉強会(6) #bje_study
Beginning Java EE 6 勉強会(6) #bje_studyMasato Kawamura
 
Microserviceなんて最初からやるもんじゃ無かった
Microserviceなんて最初からやるもんじゃ無かったMicroserviceなんて最初からやるもんじゃ無かった
Microserviceなんて最初からやるもんじゃ無かったAkira Miki
 
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawawsOAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawawsTatsuo Kudo
 
WebAPIのこれまでとこれから
WebAPIのこれまでとこれからWebAPIのこれまでとこれから
WebAPIのこれまでとこれからYohei Yamamoto
 
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜Masaru Kurahayashi
 

Viewers also liked (20)

ID連携概要 - OpenID TechNight vol.13
ID連携概要 - OpenID TechNight vol.13ID連携概要 - OpenID TechNight vol.13
ID連携概要 - OpenID TechNight vol.13
 
今更聞けないOAuth2.0
今更聞けないOAuth2.0今更聞けないOAuth2.0
今更聞けないOAuth2.0
 
OAuth認証について
OAuth認証についてOAuth認証について
OAuth認証について
 
ID連携のあるとき~、ないとき~ #エンプラ編
ID連携のあるとき~、ないとき~ #エンプラ編ID連携のあるとき~、ないとき~ #エンプラ編
ID連携のあるとき~、ないとき~ #エンプラ編
 
Office365のIdentity管理
Office365のIdentity管理Office365のIdentity管理
Office365のIdentity管理
 
エンタープライズITでのOpenID Connect利用ガイドライン
エンタープライズITでのOpenID Connect利用ガイドラインエンタープライズITでのOpenID Connect利用ガイドライン
エンタープライズITでのOpenID Connect利用ガイドライン
 
Oauth2.0とか(認証と認可)_201403
Oauth2.0とか(認証と認可)_201403Oauth2.0とか(認証と認可)_201403
Oauth2.0とか(認証と認可)_201403
 
OAuth 2.0の概要とセキュリティ
OAuth 2.0の概要とセキュリティOAuth 2.0の概要とセキュリティ
OAuth 2.0の概要とセキュリティ
 
ハイブリッド時代のID基盤構成の基礎
ハイブリッド時代のID基盤構成の基礎ハイブリッド時代のID基盤構成の基礎
ハイブリッド時代のID基盤構成の基礎
 
Ad(microsoftの方)のOpenId Connect対応
Ad(microsoftの方)のOpenId Connect対応Ad(microsoftの方)のOpenId Connect対応
Ad(microsoftの方)のOpenId Connect対応
 
OpenID ConnectとSCIMの標準化動向
OpenID ConnectとSCIMの標準化動向OpenID ConnectとSCIMの標準化動向
OpenID ConnectとSCIMの標準化動向
 
Oss貢献超入門
Oss貢献超入門Oss貢献超入門
Oss貢献超入門
 
Laravelの認証について
Laravelの認証についてLaravelの認証について
Laravelの認証について
 
ITエンジニアのための英語勉強法
ITエンジニアのための英語勉強法ITエンジニアのための英語勉強法
ITエンジニアのための英語勉強法
 
OpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンスOpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンス
 
Beginning Java EE 6 勉強会(6) #bje_study
Beginning Java EE 6 勉強会(6) #bje_studyBeginning Java EE 6 勉強会(6) #bje_study
Beginning Java EE 6 勉強会(6) #bje_study
 
Microserviceなんて最初からやるもんじゃ無かった
Microserviceなんて最初からやるもんじゃ無かったMicroserviceなんて最初からやるもんじゃ無かった
Microserviceなんて最初からやるもんじゃ無かった
 
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawawsOAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
 
WebAPIのこれまでとこれから
WebAPIのこれまでとこれからWebAPIのこれまでとこれから
WebAPIのこれまでとこれから
 
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
 

Similar to OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜

Idcon25 FIDO2 の概要と YubiKey の実装
Idcon25 FIDO2 の概要と YubiKey の実装Idcon25 FIDO2 の概要と YubiKey の実装
Idcon25 FIDO2 の概要と YubiKey の実装Haniyama Wataru
 
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014Takashi Yahata
 
The Latest Specs of OpenID Connect at #idcon 9
The Latest Specs of OpenID Connect at #idcon 9The Latest Specs of OpenID Connect at #idcon 9
The Latest Specs of OpenID Connect at #idcon 9Ryo Ito
 
プロトコルから見るID連携
プロトコルから見るID連携プロトコルから見るID連携
プロトコルから見るID連携Naohiro Fujie
 
OpenID_Connect_Spec_Demo
OpenID_Connect_Spec_DemoOpenID_Connect_Spec_Demo
OpenID_Connect_Spec_DemoRyo Ito
 
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #apiTatsuo Kudo
 
OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて
OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けてOpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて
OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けてTakashi Yahata
 
CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth...
CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth...CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth...
CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth...Tatsuo Kudo
 
[CB16] 難解なウェブアプリケーションの脆弱性 by Andrés Riancho
[CB16] 難解なウェブアプリケーションの脆弱性 by Andrés Riancho[CB16] 難解なウェブアプリケーションの脆弱性 by Andrés Riancho
[CB16] 難解なウェブアプリケーションの脆弱性 by Andrés RianchoCODE BLUE
 
Modern Authentication -- FIDO2 Web Authentication (WebAuthn) を学ぶ --
Modern Authentication -- FIDO2 Web Authentication (WebAuthn) を学ぶ --Modern Authentication -- FIDO2 Web Authentication (WebAuthn) を学ぶ --
Modern Authentication -- FIDO2 Web Authentication (WebAuthn) を学ぶ --Jun Kurihara
 
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)Tatsuo Kudo
 
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015Toru Yamaguchi
 
Authlete overview
Authlete overviewAuthlete overview
Authlete overviewmtisol
 
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューションOAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューションTatsuo Kudo
 
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015Toru Yamaguchi
 
FAPI and beyond - よりよいセキュリティのために
FAPI and beyond - よりよいセキュリティのためにFAPI and beyond - よりよいセキュリティのために
FAPI and beyond - よりよいセキュリティのためにNat Sakimura
 
Sec019 30分で理解 !_初心者向
Sec019 30分で理解 !_初心者向Sec019 30分で理解 !_初心者向
Sec019 30分で理解 !_初心者向Tech Summit 2016
 
OpenID Connect - Nat Sakimura at OpenID TechNight #7
OpenID Connect - Nat Sakimura at OpenID TechNight #7OpenID Connect - Nat Sakimura at OpenID TechNight #7
OpenID Connect - Nat Sakimura at OpenID TechNight #7OpenID Foundation Japan
 

Similar to OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜 (20)

Standard-based Identity (1)
Standard-based Identity (1)Standard-based Identity (1)
Standard-based Identity (1)
 
Idcon25 FIDO2 の概要と YubiKey の実装
Idcon25 FIDO2 の概要と YubiKey の実装Idcon25 FIDO2 の概要と YubiKey の実装
Idcon25 FIDO2 の概要と YubiKey の実装
 
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
 
The Latest Specs of OpenID Connect at #idcon 9
The Latest Specs of OpenID Connect at #idcon 9The Latest Specs of OpenID Connect at #idcon 9
The Latest Specs of OpenID Connect at #idcon 9
 
プロトコルから見るID連携
プロトコルから見るID連携プロトコルから見るID連携
プロトコルから見るID連携
 
OCHaCafe#5 - 避けては通れない!認証・認可
OCHaCafe#5 - 避けては通れない!認証・認可OCHaCafe#5 - 避けては通れない!認証・認可
OCHaCafe#5 - 避けては通れない!認証・認可
 
OpenID_Connect_Spec_Demo
OpenID_Connect_Spec_DemoOpenID_Connect_Spec_Demo
OpenID_Connect_Spec_Demo
 
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
 
OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて
OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けてOpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて
OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて
 
CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth...
CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth...CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth...
CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth...
 
[CB16] 難解なウェブアプリケーションの脆弱性 by Andrés Riancho
[CB16] 難解なウェブアプリケーションの脆弱性 by Andrés Riancho[CB16] 難解なウェブアプリケーションの脆弱性 by Andrés Riancho
[CB16] 難解なウェブアプリケーションの脆弱性 by Andrés Riancho
 
Modern Authentication -- FIDO2 Web Authentication (WebAuthn) を学ぶ --
Modern Authentication -- FIDO2 Web Authentication (WebAuthn) を学ぶ --Modern Authentication -- FIDO2 Web Authentication (WebAuthn) を学ぶ --
Modern Authentication -- FIDO2 Web Authentication (WebAuthn) を学ぶ --
 
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
 
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015
 
Authlete overview
Authlete overviewAuthlete overview
Authlete overview
 
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューションOAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
 
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
 
FAPI and beyond - よりよいセキュリティのために
FAPI and beyond - よりよいセキュリティのためにFAPI and beyond - よりよいセキュリティのために
FAPI and beyond - よりよいセキュリティのために
 
Sec019 30分で理解 !_初心者向
Sec019 30分で理解 !_初心者向Sec019 30分で理解 !_初心者向
Sec019 30分で理解 !_初心者向
 
OpenID Connect - Nat Sakimura at OpenID TechNight #7
OpenID Connect - Nat Sakimura at OpenID TechNight #7OpenID Connect - Nat Sakimura at OpenID TechNight #7
OpenID Connect - Nat Sakimura at OpenID TechNight #7
 

More from Masaru Kurahayashi

Overview of JSON Object Signing and Encryption
Overview of JSON Object Signing and EncryptionOverview of JSON Object Signing and Encryption
Overview of JSON Object Signing and EncryptionMasaru Kurahayashi
 
Yahoo! JAPANのOpenID Certified Mark取得について
Yahoo! JAPANのOpenID Certified Mark取得についてYahoo! JAPANのOpenID Certified Mark取得について
Yahoo! JAPANのOpenID Certified Mark取得についてMasaru Kurahayashi
 
IoT時代のインターネット技術動向 -アプリケーションプロトコル編-
IoT時代のインターネット技術動向 -アプリケーションプロトコル編-IoT時代のインターネット技術動向 -アプリケーションプロトコル編-
IoT時代のインターネット技術動向 -アプリケーションプロトコル編-Masaru Kurahayashi
 
IETF94 M2M Authentication関連報告
IETF94 M2M Authentication関連報告IETF94 M2M Authentication関連報告
IETF94 M2M Authentication関連報告Masaru Kurahayashi
 
エンタープライズの視点からFIDOとFederationのビジネスを考える
エンタープライズの視点からFIDOとFederationのビジネスを考えるエンタープライズの視点からFIDOとFederationのビジネスを考える
エンタープライズの視点からFIDOとFederationのビジネスを考えるMasaru Kurahayashi
 
安全なID連携のハウツー
安全なID連携のハウツー安全なID連携のハウツー
安全なID連携のハウツーMasaru Kurahayashi
 

More from Masaru Kurahayashi (6)

Overview of JSON Object Signing and Encryption
Overview of JSON Object Signing and EncryptionOverview of JSON Object Signing and Encryption
Overview of JSON Object Signing and Encryption
 
Yahoo! JAPANのOpenID Certified Mark取得について
Yahoo! JAPANのOpenID Certified Mark取得についてYahoo! JAPANのOpenID Certified Mark取得について
Yahoo! JAPANのOpenID Certified Mark取得について
 
IoT時代のインターネット技術動向 -アプリケーションプロトコル編-
IoT時代のインターネット技術動向 -アプリケーションプロトコル編-IoT時代のインターネット技術動向 -アプリケーションプロトコル編-
IoT時代のインターネット技術動向 -アプリケーションプロトコル編-
 
IETF94 M2M Authentication関連報告
IETF94 M2M Authentication関連報告IETF94 M2M Authentication関連報告
IETF94 M2M Authentication関連報告
 
エンタープライズの視点からFIDOとFederationのビジネスを考える
エンタープライズの視点からFIDOとFederationのビジネスを考えるエンタープライズの視点からFIDOとFederationのビジネスを考える
エンタープライズの視点からFIDOとFederationのビジネスを考える
 
安全なID連携のハウツー
安全なID連携のハウツー安全なID連携のハウツー
安全なID連携のハウツー
 

OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜