AppleIDを使ったSSO実装時のAppleDevelopper側での設定方法

# はじめに
webサイトでSSOログインを作る機会が何度かありましたが、
AppleIDでのSSOをするときのやり方を忘れそうなので、
備忘録的に示す。

# 必要なもの
- Apple　Developper アカウント（これがないと作れません！）

# 方法
## 1.準備
次の情報を先に抑えます。
- Webサイトドメイン(必須) => webサイトのドメイン。
- Webサイトサブドメイン(最低一つ) => ログイン時に使うサブドメイン付きURL。
- WebリターンURL(任意) => ログイン後に戻るサイトURL。遷移を自分で作る人はなくてもよし。
## 2.設定
アプリに紐づくSSOになりますので、Appleストアでリリースをしようがしまいが、アプリ設定をして、そこにSSOの認証を付けていく形になります。
別段リリースには関係がないので、別のアプリに別のWEBのSSOを付けてもいいのですが、多分管理者がいなくなったときに困ることになるので、分けることをおすすめします。
### a.アプリ設定
1. AppleDevelopperの[DevelopperのIdentity](https://developer.apple.com/account/resources/identifiers/list/bundleId)にアクセスします。
1. 右上の＋を選択します。![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/166400/6d8136ee-ae0c-7142-00f5-6883a32eb2e4.png)
1. App IDs を選択し、Continueします。![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/166400/c3206a0f-82ec-4d70-dd29-a11b9f2b2a3f.png)
1. APPを選択し、Continueします。![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/166400/4fa5bf75-a02b-15d1-40ab-2e9ac3c403d3.png)
1. Description（説明）に、わかるような説明を英語で、BundleIdにはbにあるような識別子をいれていきます![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/166400/5549e050-a20b-1f48-9b84-1efe40261611.png)
1. 確認画面がでるので、問題がなければ「Registory」を選択します。![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/166400/bede13ca-7a49-a6ee-52e3-2db99823d06a.png)

### b.SSO設定
   1. AppleDevelopperの[DevelopperのIdentity](https://developer.apple.com/account/resources/identifiers/list/bundleId)にアクセスします。
   1. 右上のPlusを選択します。![スクリーンショット 2023-01-30 13.14.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/166400/6d8136ee-ae0c-7142-00f5-6883a32eb2e4.png)

   1. ServicesID　を選択して続行します。![スクリーンショット 2023-01-30 15.31.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/166400/82a33d9d-11e9-9540-0055-22334754c844.png)
   
   1. RegisterServiceIDの画面です。
Description(説明)に、どこのサービスで使うかを書きましょう。
同じようにIdentiferに識別子を書きます。識別子は識別するだけなのですが、規則的にURLの逆をイメージして作るといいです。hugeにもう１つidを追加しても大丈夫です。
例えば huge.hogehoge.coms というサイトであれば　coms.hogehoge.huge.id とかですね。
![スクリーンショット 2023-01-30 15.40.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/166400/cacc0053-1361-4703-a2ec-506f92153ee2.png) 

   1. 確認画面が出るので、問題がなければ右上のRegisterを押して完了させます。
![スクリーンショット 2023-01-31 16.52.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/166400/0825c2b6-6a99-5bd9-79e8-65201f164c0b.png)

   1. もとのIdentifiers画面に戻るので、先程設定した名称の項目を選択します。![スクリーンショット 2023-01-31 16.55.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/166400/1eba18f2-14d7-6fcb-0929-cfa5fc23d9ac.png)

   1. チェックボックスにチェックをつけ、その横のconfiguer を選択します。![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/166400/07b77860-a6a5-94bc-1fce-9b2a57eefdd8.png)
   1. PrimaryID(*1)を選択します。![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/166400/2ceeceb6-38fd-5448-0570-a6d4c3bc8714.png) 
   1. Domain　and Subdomainsに準備で用意したドメインを入れて「NEXT」を選択します。
   1. 確認画面が出るので、打ち間違え等ないか確認します。なければ「Done」を選択![スクリーンショット 2023-01-31 17.38.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/166400/d70e7709-89b0-1994-0f29-1f4a5a994055.png)
   1. 右上の「Continue」を選択します。
   1. 確認が出るので「SAVE」を選択します。

### c.keyファイルの設定
接続に必要なkeyファイルの生成です。
1. AppleDevelopperの[keyページ](https://developer.apple.com/account/resources/authkeys/list)にアクセスします。
1. Keysの横にある「＋」を選択します
1. KeyNameに識別しやすい名称を入れます。
1. 下のSign in with Appleへチェックを入れ、「Configure」を選択します。![スクリーンショット 2023-01-31 17.56.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/166400/77600665-5489-74ed-0181-75ff4e24068a.png)
1. 先程とおなじ、PrimaryAppIDを選択し、右上の[Continue]を選択します![スクリーンショット 2023-01-31 17.57.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/166400/363cb20b-6f4d-3c2c-9066-ad1d367fae67.png)
1. 確認画面があるので問題がなければ「Register」を選択します。
1. 右上のDownloadボタンがあるので、そちらからkeyfileを落とし、同時に、keyIDをメモします。![スクリーンショット 2023-01-31 17.55.23 2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/166400/a32fb281-3d4e-95be-9fe6-d8698a3b678f.png)

# 開発者に伝えてあげる情報
次の情報を開発側に渡しましょう。
1. TEAMID
1. Identifier
1. keyID
1. p８の秘密鍵

#　終わりに
Appleってこのあたりが大変だなーって思ってしまったのですが、
いかんせんユーザが多いから、やっておいて損はないなぁと。

何かあったらコメントへ、役に立ったらいいねをおねがいします！（モチベのため！）