-
Notifications
You must be signed in to change notification settings - Fork 0
DNET_SignInWithApple
nishi_74322014 edited this page Sep 11, 2026
·
1 revision
Sign in with Appleについてのサマリ。
-
Apple IDは ≒ Microsoft Accountみたいなもの。
-
このApple IDによる外部ログインができるようになる。
-
セキュア
- FaceID / TouchID で認証できる。
- プッシュ通知の2要素認証が必須。
- 属性は、IDとメアドのみ。
実機確認はしていません(ネットから収集した情報をまとめています)
- かなり早いスピードで実装が変わっているらしいので、ココで書いたことも変わっているかも。
- なので、仕様上の細かな問題は(修正される可能性が高いので)割愛してあります。
Apple Developer Account 登録すると以下のようにIDが割り当てられる。

- Native SDKを使用する場合は、App ID が OAuth Client ID に該当するらしい。
- それ以外では、Service ID が OAuth Client ID に該当するらしい(今回追加された)。
Dynamic Client Registrationする際のキー的な。
- OAuth Client ID(App ID / Service ID)の上位概念。
- 複数の Key(ES256用)を発行できる。
- Client Access を Revoke
- Subjectには、PPID (Pairwise Pseudonymous Identifier)を使用
- このため、プライバシー・フレンドリーである。
- Team ID 単位でPPID を発行する。
-
Native SDK 経由、email scope を要求するとEmail アドレスが払い出される。
-
以下を選択可能。
- Apple ID に紐づいたメアド
- Team ID 単位でランダムなメアド(Private Email address)
- メールボックスの実態はなく、Private Email Relay Serviceにより転送される。
- Team ID に 紐付くドメインからのみ送信可能
(サービス提供者以外からのメールはリレーしない)。
-
Primary App IDに対し、
複数鍵を設定できるのでkid必要 -
private_key_jwt的に鍵で署名。
- iss が Team ID
- sub に Client IDだが、前述の通り、
- Native SDK なら App ID
- Native SDK 以外なら Service ID
https://appleid.apple.com/auth/authorize
https://appleid.apple.com/auth/token
-
form_postでid_tokenと一緒にuser情報が返ってくる。
- id_tokenの中には、メアドが、
- その他の情報はuser情報から。
-
上記の(subを除く)情報は、
初回のみ取得できて、以降は取得できないらしい。 -
IdMaaSのエンドユーザ・カスタマイズで苦労したりする。
Apple 公式 JS SDK と Native SDKがある。
- WebAuthn的にFaceID / TouchID で認証できUXが素晴らしいらしい(Appleっぽい)。
- が、それ以外の環境でのログイン UX は結構辛い(Appleっぽい)。
- また、Touch ID / Face IDを使える環境が色々あるっぽい(面倒臭い)。
PKCEが無いらしい。スマホなのに。
- Sign in With Apple の特徴分析
- Sign In with Apple を Web に実装 - サンプルコード
https://qiita.com//treastrain/items/c1f04c1fc757c92d4bf3 - Sign in with Apple 用の Ruby Gem をリリースして Rails でサンプル実装してみました
https://qiita.com/nov/items/b19f1ffe35288d0110b2
Sign in with Apple 特集
- Sign In with Apple概要 iOSでの実装方法検討 #idcon
https://www.slideshare.net/techblogyahoo/sign-in-with-apple-ios-idcon - IDaaSにSign in with Appleをつないでみた
https://www.slideshare.net/naohiro.fujie/idaassign-in-with-apple - Sign in with Apple
https://www.slideshare.net/matake/sign-in-with-apple
移行メモ
- 「Apple IDこのApple IDによる外部ログイン」の重複を除去し 「このApple IDによる外部ログイン」とした。
- 「メールボックの実態はなく」→「メールボックスの実態はなく」に修正した。
- 見出し「各種パラメタ、」の末尾の読点を除去した。
- マイクロソフト系技術情報 Wiki(techinfoofmicrosofttech.osscons.jp)への リンク先は、移行済みの 認証基盤 とした。
- PukiWiki のページ内アンカ(
#xxxxxxxx)は GitHub Wiki では再現できないため、 同一ページ内のアンカは見出しから生成されるアンカに張り替えた。
Tags: 移行, Sign in with Apple, Apple ID, OAuth, OIDC, PPID, Private Email Relay, 外部ログイン
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。