Submit Search
IDaaSにSign in with Appleをつないでみた
2 likes
5,247 views
Naohiro Fujie
2019/08/02の #idcon の資料 Azure AD B2C, Auth0 へ Sign in with Appleをつないでみました。
Technology
Read more
1 of 35
Download now
Download to read offline
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
More Related Content
PDF
Sign In with Apple概要 iOSでの実装方法検討 #idcon
Yahoo!デベロッパーネットワーク
PDF
FIDOのキホン
Yahoo!デベロッパーネットワーク
PPTX
AAD B2Cでゆるっと真面目に認証しよう【Interact2019】
Tsubasa Yoshino
PDF
認証の課題とID連携の実装 〜ハンズオン〜
Masaru Kurahayashi
PDF
OpenID ConnectとAndroidアプリのログインサイクル
Masaru Kurahayashi
PDF
Azure ADと外部アプリのID連携/SSO - Deep Dive
Naohiro Fujie
PDF
実装して理解するLINE LoginとOpenID Connect入門
Naohiro Fujie
PDF
20231109_OpenID_TechNight_OpenID_Federation.pdf
OpenID Foundation Japan
Sign In with Apple概要 iOSでの実装方法検討 #idcon
Yahoo!デベロッパーネットワーク
FIDOのキホン
Yahoo!デベロッパーネットワーク
AAD B2Cでゆるっと真面目に認証しよう【Interact2019】
Tsubasa Yoshino
認証の課題とID連携の実装 〜ハンズオン〜
Masaru Kurahayashi
OpenID ConnectとAndroidアプリのログインサイクル
Masaru Kurahayashi
Azure ADと外部アプリのID連携/SSO - Deep Dive
Naohiro Fujie
実装して理解するLINE LoginとOpenID Connect入門
Naohiro Fujie
20231109_OpenID_TechNight_OpenID_Federation.pdf
OpenID Foundation Japan
What's hot
(20)
PDF
池澤あやかと学ぼう!: はじめてのOAuthとOpenID Connect - JICS 2014
Nov Matake
PPTX
Azure API Management 俺的マニュアル
貴志 上坂
PPTX
Azure ADアプリケーションを使用した認証のあれやこれ
DevTakas
PDF
【第1回EMS勉強会】Autopilot設計時のポイント
yokimura
PDF
ID & IT 2013 - OpenID Connect Hands-on
Nov Matake
PDF
今更聞けない電子認証入門 - OAuth 2.0/OIDCからFIDOまで -
Naoto Miyachi
PDF
J-3:アジャイルな経営(組織運営)のために 必要な3つのこと(ともう少し深いところの話)
Shigeki Morizane
PDF
これからのネイティブアプリにおけるOpenID Connectの活用
Masaru Kurahayashi
PDF
Confluence と SharePoint 何が違う?
アトラシアン株式会社
PDF
OpenIDConnectを活用したgBizID(法人共通認証基盤)の現状と今後の展望 - OpenID Summit 2020
OpenID Foundation Japan
PDF
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
Developers Summit
PDF
Insight into Azure Active Directory #02 - Azure AD B2B Collaboration New Feat...
Kazuki Takai
PDF
SSIとDIDで何を解決したいのか?(β版)
Naohiro Fujie
PDF
Azure ADとIdentity管理
Naohiro Fujie
PDF
” AWS ” だけじゃない! ” GCP ” の オートスケール機能
Yuya Ohara
PDF
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
Tatsuo Kudo
PDF
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
Tatsuo Kudo
PPTX
HoloLens開発環境構築(2018/1版)
Takahiro Miyaura
PPTX
Cloud Firestore を使って、Polling をやめたい話
Kenichi Tatsuhama
PDF
Fido認証概要説明
FIDO Alliance
池澤あやかと学ぼう!: はじめてのOAuthとOpenID Connect - JICS 2014
Nov Matake
Azure API Management 俺的マニュアル
貴志 上坂
Azure ADアプリケーションを使用した認証のあれやこれ
DevTakas
【第1回EMS勉強会】Autopilot設計時のポイント
yokimura
ID & IT 2013 - OpenID Connect Hands-on
Nov Matake
今更聞けない電子認証入門 - OAuth 2.0/OIDCからFIDOまで -
Naoto Miyachi
J-3:アジャイルな経営(組織運営)のために 必要な3つのこと(ともう少し深いところの話)
Shigeki Morizane
これからのネイティブアプリにおけるOpenID Connectの活用
Masaru Kurahayashi
Confluence と SharePoint 何が違う?
アトラシアン株式会社
OpenIDConnectを活用したgBizID(法人共通認証基盤)の現状と今後の展望 - OpenID Summit 2020
OpenID Foundation Japan
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
Developers Summit
Insight into Azure Active Directory #02 - Azure AD B2B Collaboration New Feat...
Kazuki Takai
SSIとDIDで何を解決したいのか?(β版)
Naohiro Fujie
Azure ADとIdentity管理
Naohiro Fujie
” AWS ” だけじゃない! ” GCP ” の オートスケール機能
Yuya Ohara
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
Tatsuo Kudo
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
Tatsuo Kudo
HoloLens開発環境構築(2018/1版)
Takahiro Miyaura
Cloud Firestore を使って、Polling をやめたい話
Kenichi Tatsuhama
Fido認証概要説明
FIDO Alliance
Ad
Similar to IDaaSにSign in with Appleをつないでみた
(11)
PPTX
キーチェーン・アクセスのバックアップと同期
幸雄 村上
PDF
Welcome sign in with apple
Kohei Saito
PDF
OpenID Connect入門
土岐 孝平
PDF
OpenStack Study#9 JOSUG
Hideki Saito
PDF
[20140625]wwdc2014 feedback
VOYAGE GROUP
PDF
OpenID Connect - Nat Sakimura at OpenID TechNight #7
OpenID Foundation Japan
PDF
OAuth2.0によるWeb APIの保護
Naohiro Fujie
PDF
Authentication and Authorization of The Latest Keycloak
Hitachi, Ltd. OSS Solution Center.
PPTX
Idcon25 FIDO2 の概要と YubiKey の実装
Haniyama Wataru
PPTX
QlikTips: Qlik Cloud REST APIでユーザー登録(Node.js)
QlikPresalesJapan
PPTX
認証サービスへのWebAuthnの導入
TakashiTsukamoto4
キーチェーン・アクセスのバックアップと同期
幸雄 村上
Welcome sign in with apple
Kohei Saito
OpenID Connect入門
土岐 孝平
OpenStack Study#9 JOSUG
Hideki Saito
[20140625]wwdc2014 feedback
VOYAGE GROUP
OpenID Connect - Nat Sakimura at OpenID TechNight #7
OpenID Foundation Japan
OAuth2.0によるWeb APIの保護
Naohiro Fujie
Authentication and Authorization of The Latest Keycloak
Hitachi, Ltd. OSS Solution Center.
Idcon25 FIDO2 の概要と YubiKey の実装
Haniyama Wataru
QlikTips: Qlik Cloud REST APIでユーザー登録(Node.js)
QlikPresalesJapan
認証サービスへのWebAuthnの導入
TakashiTsukamoto4
Ad
More from Naohiro Fujie
(20)
PDF
分散型IDと検証可能なアイデンティティ技術概要
Naohiro Fujie
PDF
今なら間に合う分散型IDとEntra Verified ID
Naohiro Fujie
PDF
LINE Login総復習
Naohiro Fujie
PDF
Azure AD B2CにIdPを色々と繋いでみる
Naohiro Fujie
PDF
LINEログインの最新アップデートとアプリ連携ウォークスルー
Naohiro Fujie
PDF
ざっくり解説 LINE ログイン
Naohiro Fujie
PDF
Azure AD x LINE x Auth0
Naohiro Fujie
PDF
LINE Payも取り組んでいるKYCってなんだろう?KYCの基本と最近の動向
Naohiro Fujie
PDF
MicrosoftのDID/VC実装概要
Naohiro Fujie
PDF
LIFFとの連携でさらに強力に。こんなに使えるLINEログイン
Naohiro Fujie
PDF
自己主権型IDと分散型ID
Naohiro Fujie
PDF
Azure ADの外部コラボレーションとBYOID
Naohiro Fujie
PDF
祝!公式サポート Auth0 + LINE Login
Naohiro Fujie
PDF
次世代KYCと自己主権型アイデンティティの動向
Naohiro Fujie
PDF
これからの KYC と Identity on Blockchain の動向
Naohiro Fujie
PDF
教育機関におけるBYOIDとKYC
Naohiro Fujie
PDF
組織におけるアイデンティティ管理の基本的な考え方
Naohiro Fujie
PDF
コンシューマIDのエンタープライズ領域での活用
Naohiro Fujie
PDF
大学等におけるAzure AD B2Cを使用したSNS認証の活用
Naohiro Fujie
PDF
Azure AD B2C + LINE 学校や企業における次世代 ID/ メッセージ基盤
Naohiro Fujie
分散型IDと検証可能なアイデンティティ技術概要
Naohiro Fujie
今なら間に合う分散型IDとEntra Verified ID
Naohiro Fujie
LINE Login総復習
Naohiro Fujie
Azure AD B2CにIdPを色々と繋いでみる
Naohiro Fujie
LINEログインの最新アップデートとアプリ連携ウォークスルー
Naohiro Fujie
ざっくり解説 LINE ログイン
Naohiro Fujie
Azure AD x LINE x Auth0
Naohiro Fujie
LINE Payも取り組んでいるKYCってなんだろう?KYCの基本と最近の動向
Naohiro Fujie
MicrosoftのDID/VC実装概要
Naohiro Fujie
LIFFとの連携でさらに強力に。こんなに使えるLINEログイン
Naohiro Fujie
自己主権型IDと分散型ID
Naohiro Fujie
Azure ADの外部コラボレーションとBYOID
Naohiro Fujie
祝!公式サポート Auth0 + LINE Login
Naohiro Fujie
次世代KYCと自己主権型アイデンティティの動向
Naohiro Fujie
これからの KYC と Identity on Blockchain の動向
Naohiro Fujie
教育機関におけるBYOIDとKYC
Naohiro Fujie
組織におけるアイデンティティ管理の基本的な考え方
Naohiro Fujie
コンシューマIDのエンタープライズ領域での活用
Naohiro Fujie
大学等におけるAzure AD B2Cを使用したSNS認証の活用
Naohiro Fujie
Azure AD B2C + LINE 学校や企業における次世代 ID/ メッセージ基盤
Naohiro Fujie
IDaaSにSign in with Appleをつないでみた
1.
IDaaSにSign in with
Apple をつないでみた @phr_eidentity 2019/08/02 #idcon Copyright 2019 Naohiro Fujie
2.
自己紹介 • 役割 • OpenIDファウンデーション・ジャパン理事、KYC
WGリーダー • IDをコアとしたビジネス開発担当。大阪から全国をカバー • 書き物など • Blog:IdM実験室(https://idmlab.eidentity.jp) • 監訳 : クラウド時代の認証基盤 Azure Active Directory 完全解説 • 共著 : クラウド環境におけるアイデンティティ管理ガイドライン • その他活動 • 日本ネットワークセキュリティ協会アイデンティティ管理WG • Microsoft MVP for Enterprise Mobility(Jan 2010 -) • LINE API Expert (Feb 2018 -) • Auth0 Ambassador(Sep 2018 -) Copyright Naohiro Fujie, 2019 2
3.
お題 • まず、はじめに • Azure
AD B2C編 • Auth0編 • 注意点 • まとめ Copyright 2019 Naohiro Fujie
4.
まず、はじめに Copyright 2019 Naohiro
Fujie
5.
AuthZエンドポイント不明 Copyright 2019 Naohiro
Fujie https://developer.apple.com/documentation/signinwithapplerestapi
6.
まずは標準のJSを使ってみる • 公式ドキュメントの通り • https://developer.apple.com/documentation/signinwithapplejs/configuring_your_webpage_for_sign_in_with_apple <html> <head> <meta
name="appleid-signin-client-id" content=“{client}"> <meta name="appleid-signin-scope" content="name email"> <meta name="appleid-signin-redirect-uri" content="https://{your_redirect_uri}"> <meta name="appleid-signin-state" content="hogehoge"> </head> <body> <div id="appleid-signin" data-color="black" data-border="true" data-type="sign in"></div> <script type="text/javascript" src="https://appleid.cdn- apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js"></script> </body> </html> Copyright 2019 Naohiro Fujie
7.
まずは標準のJSを使ってみる • 認可リクエストを覗いてみる • Hybrid,
scopeはname email, form_post https://appleid.apple.com/auth/authorize? client_id={client}& redirect_uri=https%3A%2F%2F{redirect_uri}& response_type=code%20id_token& state=hogehoge& scope=name%20email& response_mode=form_post& frame_id=cce20447-06fb-47cc-92bf-ca85f87febc3& m=21& v=1.1.6 Copyright 2019 Naohiro Fujie
8.
まずは標準のJSを使ってみる • 認可レスポンス(redirect_uriへPOSTされてくる) state: hogehoge code:
cb5ce09e14e9a4d7cb7b9cdc95c0d82ab.0.nsqtx.5pH1elbG5qgYO4GJHLMQwg id_token: eyJraWQiOiJBSURPUEsxIiwiYWxnIjoiUlMyNTYifQ.eyJpc3MiOiJodHRwczovL2FwcGxlaWQuYXBwbGUuY29tIiwiYX VkIjoidmluLnJlaXdhLmNs~~省略~~Zw6ToHn_uXOKXRS4lkFguFldNRKPYahVZk_RZ4_UEfZBAYEyvkxxngl8- _5Yp6L1e39p6t9apnHquj9J80K0N45WNDdj2erF_NUGtmKZQRdqbs9sA0BxbrJVyyJIGrOPO0A6sl-3Lt7LBvHyZg user: {"name":{"firstName":"Naohiro","lastName":"Fujie"},"email":“xxx@xxxx.jp"} Copyright 2019 Naohiro Fujie
9.
まずは標準のJSを使ってみる • Id_tokenの中身を覗いてみる • c_hashは無い・・・ { "iss":
"https://appleid.apple.com", "aud": “{client}", "exp": 1564639728, "iat": 1564639128, "sub": "002037.b50e1026dfac4f1db61c47b2095a2928.1501", "email": “xxx@xxxx.jp" } ちなみにsubのスコープは Teamっぽい Copyright 2019 Naohiro Fujie
10.
まずは標準のJSを使ってみる+α • 返ってきたcodeを使ってtokenエンドポイントを叩いてみる • https://appleid.apple.com/auth/token
*これはドキュメントに書いてある POST /auth/token HTTP/1.1 Host: appleid.apple.com Content-Type: application/x-www-form-urlencoded grant_type=authorization_code& code=c8117807ab9514cb8b7ab21a6b4422053.0.nsqtx.sviy07qmCL418BjyY4zKVQ& client_id={client}& client_secret=eyJhbGciOiJFUzI1NiIsInR~~省略~~F0Tj0TddkrPLIQ redirect_uri=https%3A%2F%2Fb2cline.azurewebsites.net%2Fapplejs.php client_secretの作り方は後程 Copyright 2019 Naohiro Fujie
11.
まずは標準のJSを使ってみる+α • トークンレスポンス { "access_token": "aeed1e957c03e4992bcda1d5f5db74730.0.nsqtx.40F_OL_3UR_QgCqeCGzwbA", "token_type":
"Bearer", "expires_in": 3600, “refresh_token”: “r58fb1260e21e4ed09d6b~~省略~~PpcIOA7HFcwxYzCiqg", “id_token”: “eyJraWQiOiJBSURPUEsxIiwiYWxnIjoiUlMyNTYifQ.eyJpc3MiOiJodHRwczovL2FwcGxlaWQuYXBwbGUuY29tIiwiY XVkIjoidmluLnJlaXdhLmNsaWVudCIsImV4cCI6MTU2NDY0MTEwMCwiaWF0IjoxNTY0NjQwNTAwLCJzdWIiOiIwM DIwMzcuYjUwZTEw~~省略~~qb_OQMCsNLWdu1- 21gxtpD2pAeF3bEYed8dOoyxj9u9wNujyg7RVbHCKRPazMx8Hwcvp8W-aU-HpUVxkFl5_qFHY_6rm- Q0MteUezGRWbhwpAubpS5husq9gc33S_dsc-p1wpSe3nsvIg2uPVU_vwrBn_zwAFknTqI- 4ym_V1fBE9w_2e56qyfJEK9Qew" } Copyright 2019 Naohiro Fujie
12.
まずは標準のJSを使ってみる+α • Id_tokenの中身を覗いてみる • at_hashはある { "iss":
"https://appleid.apple.com", "aud": “{client}", "exp": 1564640650, "iat": 1564640050, "sub": "002037.b50e1026dfac4f1db61c47b2095a2928.1501", "at_hash": "Z2Bmd-29JWvbo_mqohgqow", "email": “xxx@xxxx.jp" } Copyright 2019 Naohiro Fujie
13.
この流れを踏まえてIDaaSに組み込む • ここまででわかったこと • エンドポイントは以下の通り •
認可エンドポイント:https://appleid.apple.com/auth/authorize • トークンエンドポイント: https://appleid.apple.com/auth/token • userInfoエンドポイントは見当たらない • form_postでid_tokenと一緒にuser情報が返ってくる • 試したIDaaS • Azure AD B2C • Auth0 Copyright 2019 Naohiro Fujie
14.
Azure AD B2C編 Copyright
2019 Naohiro Fujie
15.
とりあえずカスタムOPとして追加 まだ標準プロバイダとして プリセットは存在しない 2019年8月時点の標準IdP: Amazon, Facebook, Google,
QQ, github, WeChat, twitter, Weibo, Microsoft, LinkedIn Copyright 2019 Naohiro Fujie
16.
Apple側のServices Id設定 • Return
URLsには以下を設定する • https://login.microsoftonline.com/te/{テナント名}.onmicrosoft.com/oauth2/authresp • https://{テナント名}.b2clogin.com/{テナント名}.onmicrosoft.com/oauth2/authresp Copyright 2019 Naohiro Fujie
17.
さっそく壁にあたる ①/.wellknown/openid- configurationが必須 { "authorization_endpoint": "https://appleid.apple.com/auth/authorize", "issuer": "https://appleid.apple.com", "token_endpoint":
"https://appleid.apple.com/auth/token", "jwks_uri": "https://appleid.apple.com/auth/keys" } 仕方がないので作る 注)URLが.wellknown/openid-configuration で終わる必要あり ②client_secretが必要 作る(次ページ) ③response_typeに「code id_token」がない どちらかに設定して試す Copyright 2019 Naohiro Fujie
18.
client_secretの作り方 • Appleからダウンロードした鍵で署名したJWTを使う { "alg": "ES256", "typ":
"JWT“, “kid": “{key_id}“ }.{ "sub": “{client_id}", "nbf": 1560203207, "exp": 1560289607, "iss": “{TeamId}", "aud": "https://appleid.apple.com" }.[Signature] 基本構造 const jwt = require("jsonwebtoken"); const fs = require("fs"); const privateKey = fs.readFileSync("./authkey.p8"); const token = jwt.sign({}, privateKey, { algorithm: "ES256", expiresIn: "60 days", audience: "https://appleid.apple.com", issuer: “{TeamId}", subject: “{client_id}", keyid: “{key_id}" }); console.log("The token is:", token); Auth0の人が書いてたスクリプト The token is: eyJhbGciOiJFUzI1NiIsInR5ccs~~省略~~z-F0Tj0TddkrPLIQ Apple Developerサイトで 作ったキーファイル Apple Developerサイトで 確認できるTeam Id Apple Developerサイトで 作ったキーのId これをclient_secretとして 使う Copyright 2019 Naohiro Fujie
19.
注意事項 • client_secretには期限がある(最大6か月) const jwt
= require("jsonwebtoken"); const fs = require("fs"); const privateKey = fs.readFileSync("./authkey.p8"); const token = jwt.sign({}, privateKey, { algorithm: "ES256", expiresIn: "60 days", audience: "https://appleid.apple.com", issuer: “{TeamId}", subject: “{client_id}", keyid: “{key_id}" }); console.log("The token is:", token); { "alg": "ES256", "typ": "JWT", "kid": "Q55XN53AWU" }.{ "iat": 1564635617, "exp": 1569819617, "aud": "https://appleid.apple.com", "iss": "D89GDBS69B", "sub": “{client}" } 絶対忘れると思う Copyright 2019 Naohiro Fujie
20.
response_type問題:codeで • response_type=code •
response_type=id_token Copyright 2019 Naohiro Fujie
21.
属性情報をどうやってとるか? • これで認可リクエストを発行 • response_type=code •
response_mode=form_post • 一応user属性は返ってきている • が、Azure AD B2Cのredirect_uriが受け取れるはずもなく… state: StateProperties=eyJTSUQiOiJ4LW~~省略~~CJpJp93DjhQJO4A7UMQ user: {"name":{"firstName":"Naohiro","lastName":"Fujie"},"email":“xxx@xxxx.jp"} Copyright 2019 Naohiro Fujie
22.
カスタムポリシーだとどうか? • 良いところ • METADATAのURLが割と自由(.well- known/openid-configurationで終わら なくても良い) •
response_typeが自由に決められる • でも結局ユーザ属性は取れない • ちなみにプロトコルをOAuthにすると 追加パラメータとかも使えるが、 response_modeが使えなくなる(無 視される)。codeだしそりゃそうで す。 Copyright 2019 Naohiro Fujie
23.
Auth0編 Copyright 2019 Naohiro
Fujie
24.
ビルトインで用意されている(ベータ) ビルトイン版がある! ちなみにredirect_uriは 標準で https://{テナント名}.auth0.com/login/callback カスタムドメインの場合は https://{カスタムドメイン名} /callback Copyright 2019
Naohiro Fujie
25.
とりあえず試せる 設定せずに使い始めることができる(な にも設定しないとAuth0がとった開発用の clientが使われる) Copyright 2019 Naohiro
Fujie
26.
client_secretの期限問題がない(と思う) 署名用のキーをそのまま張り付けるだけ なので、自前でclient_secretを作らなく てよい。多分期限もちゃんと考えて毎回 or 定期的に作ってくれていると思う Copyright 2019
Naohiro Fujie
27.
response_typeはcode, modeなし • 認可リクエスト •
scope=name email • response_type=code • reponse_modeなし(当然ですが) GET /auth/authorize? client_id={client}& scope=name%20email& response_type=code& redirect_uri=https%3A%2F%2F{tenant}.auth0.com%2Flogin%2Fcallback& state=LGN0AZlHg1JZapo-4V3AEhFgd0ioBnTk HOST: appleid.apple.com Copyright 2019 Naohiro Fujie
28.
当然フロントにはid_tokenもuserもない • そりゃそうです。 GET /login/callback? code=c48df4947c13148f4885ee2d4a7aa80f5.0.nsqtx.JJ7XoU5YaYvVjOupQLZcog& state=gS2mgYI7FL0FKBGVbq-cIz7IZeZc79Tz HOST:
{tenant}.auth0.com Copyright 2019 Naohiro Fujie
29.
メールアドレスは取れているので、バッ クエンドでid_tokenを取ってます • 普通のcode flowです Copyright
2019 Naohiro Fujie
30.
カスタム・ソーシャル・コネクタを作る • OAuthエクステンション • カスタム設定が可能 •
あくまでOAuth… Copyright 2019 Naohiro Fujie
31.
必要な情報を設定~ユーザ属性取得 • access_tokenまではとって来るの で後は自分でuserInfoをたたく • Apple
Idの場合はUser Profileが取 れるエンドポイントがないので、 やはりid_tokenに頼る • ctx.id_tokenでコンテキストから id_tokenが取れるのでdecode • ctx.userとかできれば嬉しいので すが、結局userはform_postが前 提なので、無理 client_secret問題再び Copyright 2019 Naohiro Fujie
32.
注意点 Copyright 2019 Naohiro
Fujie
33.
メールアドレス、ユーザ属性は初回のみ state: hogehoge code: cb5ce09e14e~~省略~~lbG5qgYO4GJHLMQwg id_token:
eyJraWQ~~省略~~OPO0A6sl-3Lt7LBvHyZg user: {"name":{"firstName":"Naohiro","lastName":"Fujie"},"email ":“xxx@xxxx.jp"} state: hogehoge code: cb5ce09e14e~~省略~~lbG5qgYO4GJHLMQwg id_token: eyJraWQ~~省略~~OPO0A6sl-3Lt7LBvHyZg 初回の認可レスポンス 2回目以降の認可レスポンス { "iss": "https://appleid.apple.com", "aud": “{client}", "exp": 1564639728, "iat": 1564639128, "sub": "002037.b50e1026dfac4f1db61c47b2095a2928.1501", "email": “xxx@xxxx.jp" } 初回のid_token { "iss": "https://appleid.apple.com", "aud": “{client}", "exp": 1564639728, "iat": 1564639128, "sub": "002037.b50e1026dfac4f1db61c47b2095a2928.1501" } 2回目以降のid_token Copyright 2019 Naohiro Fujie
34.
https://appleid.apple.comで認可取消 Copyright 2019 Naohiro
Fujie
35.
まとめ • IDaaSではSDKは使えないので、OpenID Connect?で接続 •
ユーザ属性はform_postでid_tokenと一緒に飛んでくるが、実 際イレギュラーすぎてIDaaSでは取得できない(たぶん) • メールアドレスはid_tokenから • ユーザ属性もメールアドレスも取れるのは初回認可時だけ • client_secretのキーローテーションには気を付けること • Auth0のビルトインは大丈夫っぽい(たぶん) Copyright 2019 Naohiro Fujie
Download