こんにちは、富士榮です。
AppleがApp Storeの規約を変更したニュースが出ていますね。
https://gigazine.net/news/20240129-apple-sign-in-with-apple-remove/
元々はAppleがApp Storeの審査を行う上でソーシャルログインなど複数のIdentity Providerによるログイン機能を有するアプリにはApple IDでのログイン”も”サポートすることを要求していたのですが、今回の規約の改訂で以下の条件を満たすIdPをサポートすれば必ずしもApple IDとのID連携は行わなくても良い、という形に変更されました。
とはいえ、上記の記事にもある通り、以下の条件を満たすことのできるIdPってApple IDくらいしかないのでは?というなかなか厳しい状態です。
- the login service limits data collection to the user’s name and email address
- the login service allows users to keep their email address private as part of setting up their account
- the login service does not track users as they interact with your app
ということは、APIでリレーエントリーを作成することができるリレーサービスがあれば実現できるのでは?と思い少し調べてみました。
触ってみたのはImprovmx(https://improvmx.com/ )というサービスです。※単純に検索して引っかかったので触ってみただけです。
APIドキュメントを見ているとどうやらAPI経由でエイリアスとなるメールアドレスから実際のメールアドレスへのリレーの定義ができるようです。
ということで触ってみます。
まずはベースとなるドメインの定義をします。
MXとTXTレコードの設定が求められるので、使うドメインのDNSサーバにレコードを作成し、ImprovMXのダッシュボードで確認を行います。
またAPIを実行するのでAPIキーの発行をしておきます。
API実行時はBasic認証でユーザ名に「api」、パスワードにAPIキーを設定してあげるだけです。
やりたいことはユーザがサインアップするときにランダムの仮名メールアドレスを発行し、実メールアドレスを隠した状態でアプリ側へ提供すること、アプリ側から仮名メールアドレスへのメールが送信されたときに実メールに対してリレーされることです。
そのためにAPIを使って仮名メールアドレスと実メールアドレスを紐づけるAliasを作成することができればOKです。
この辺りのAPIをつけば良さそうです。
https://improvmx.com/api/#alias-add
BodyにJSONでAliasとForwardを指定してPOSTするだけですね。
GET APIで設定状態の確認をすることができます。
無料版だと配送までに少し時間がかかりますが、「設定したAlias@設定したドメイン」に対してメールを送るとForwardに指定した実メールアドレスにメールが届きます。
このAPIコールをIdentity Providerの内部処理として組み込めばAppleが求めるIdPが実装できそうですね。
旧mac.comのApple IDもトラブルが出ているようですし、特定のIdPだけに頼らずにシステムを作っていけるようにしていきましょう。
0 件のコメント:
コメントを投稿