

現在、こちらのドキュメントと動画を参考にしているのですが、自分の解釈があっているか分かりません。  
[Firebase ドキュメント](https://firebase.google.com/docs/auth/ios/apple)  
[Firebase Youtube:10:15](https://www.youtube.com/watch?v=BxQsdhglZtE&t=216s)

[![Swift sign with apple
ID](https://i.stack.imgur.com/fmxfI.png)](https://i.stack.imgur.com/fmxfI.png)  
参考：https://www.youtube.com/watch?v=BxQsdhglZtE&t=216s

動画内の画像のフローを元にすると、  
①nonceを作成し、ローカルに保存。  
②自分が欲しい情報を元にスコープの範囲を指定し、sha256でnonceをハッシュ化してiosに情報を求める。  
③ユーザがダイアログを許可すると、求めたスコープ(例えば、名前やメールアドレス)とsha256でnonceをハッシュ化した値を含んだApple ID
tokenが返される。  
④①のnonceと③のnonceが違わないかアプリ側で比較。  
⑤Firebaseに対して、Apple ID tokenとnonceを送って、証明を行う。

これが大まかな流れだと思うのですが、質問としましては③のApple ID tokenと⑤のApple ID tokenの認証の仕方です。

③のApple ID tokenは、i cloudで使っているようなApple ID
がトークン返されるのでしょうか？もしくは、一度きりのワンタイムのIDなのでしょうか？また、Apple ID
tokenの中身には求めたスコープが入っていると思うのですが、これはFirebase上で認証しないと取り出せないものなのでしょうか？

⑤のApple ID tokenの認証の仕方については、FirebaseとApple サーバが連絡を取ってそのApple ID
tokenを認証しているのでしょうか？もしくは、別の方法でApple ID tokenを認証しているのでしょうか？

ご教授よろしくお願い致します。


CC BY-SA 4.0
2021-12-26T16:56:35.627
85343
2021-12-26T16:56:35.627
47147
question
swift firebase
Swift sign with apple IDのフローについて、