[flutter + firebase AppleID] flutterでApple ID認証を実装する時の大きな落とし穴 Firebase 2021/9/9
AppStoreにて公開しようとしたところ、ガイドラインに引っかかったとの連絡が。
Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage
We still noticed that after users authenticate their account with Sign in with Apple, they are required to take additional steps before they can access content and features in your app. Specifically:
- Your app requires users to provide their name after using Sign in with Apple.
要は「AppleIDでログインしたらユーザーの名前取得できるから、初期値で入力した状態にしておいて」ということ。 しかしこれ、Firebase Authenticationを使って実装する場合は気をつけないといけないことが。。
ちなみにsign_in_with_appleパッケージを使っています。
落とし穴その1 firebaseを使っている場合、
String result = '';
final FirebaseAuth _auth = FirebaseAuth.instance;
auth.User? _currentUser = _auth.currentUser;
で取得できます。 解説すると、Apple ID以外で認証した場合は_currentUserのdisplayNameにユーザ名(表示名)が存在するのですが、AppleIDにおいてはそもそもここでは受け取れません。「初回ログイン時にのみ、Credentialにて取得できる」と言われているのです。
final appleIdCredential = await SignInWithApple.getAppleIDCredential(
scopes: [
AppleIDAuthorizationScopes.email,
AppleIDAuthorizationScopes.fullName,
],
); //このappleIdCredentialに存在
これに気づくまでが1つ目の落とし穴。
落とし穴その2 じゃあこの「初回ログイン」ってどのような意味かわかりますか?実はfirebase上にログイン情報が作成されたかどうかではないのです。iOS端末にて、設定-AppleID情報見れるとこ-パスワードとセキュリティ-AppleIDを使用中のApp ここにデータが存在するかどうかなのです。
何故かCredentialでデータが取得できないという状況に陥っていた方はここを確認してみましょう。もしデータが存在していた場合は削除すると、取得できます。
まとめ そもそも自分が作っているアプリは匿名性を大切にしたSNSだったので、「そもそもAppleIDに登録している名前を使って欲しくないんだけど」というような内容で異議申し立てしたのですが無視されました。なんとも言えないですね。
レンタルサーバはConohaWINGが最強にオススメ! muchilogでは今までいろんなレンタルサーバやSaaSを使ってきましたが、今では全てをConohaWINGにて運営しています。
■今まで使ってきたサービス一覧 ・さくらレンタルサーバ(ベーシックプラン) ・カゴヤ ・Azure ・AWS
今ではこのブログは勿論、webサービスのバックエンドやアプリのサーバ機能もConohaWINGで動かしています。 そんなConohaWINGのメリットをいくつか紹介します!
【国内最速No.1】高性能レンタルサーバーConoHa WING 無料で最大2個の独自ドメインが使える! サイト運営に必要な独自ドメインをなんと無料で取得することが可能です!これだけでも月100円以上は運営費が節約できます。
優れた速度と安定感 私がAzureやさくらを解約した大きな理由はこれ。Conohaは非常に安定して稼働しており、ダウンタイムがほぼ発生しません。発生した場合は潔くお知らせしてくれます。 また、このブログは勿論、バックエンドとして動いてるプログラムも処理速度が大幅に向上しました(体感で倍速以上)。 Azure等のSaaSからレンタルサーバに移行するって普通考えられませんよね?しかし実際に大きなメリットを感じているのです。
頻繁に開催されるキャンペーン ConohaWINGは半額に迫るようなキャンペーンを頻繁に開催しています。このキャンペーンによって、性能的には業界トップクラスであるにも関わらず、 月額料金換算で最安値クラスで使えるのです。 基本的に長期一括契約の方がお得になるため、muchilogでは最長で契約することをオススメします。価格と性能のバランスを考えれば他に乗り換えることも考えれられませんし。
レンタルサーバは必須です! web系のプログラミング学習を進める際には、レンタルサーバの契約は必須と思ってください。ローカルの環境と本番環境で動作が違うことは良くありますし、ポートフォリオを公開するのも大切です。
学習や制作に集中するためにも、満足度、速度、安定度全てのレベルが高いConohaWINGを最強にオススメします!
web系サービス開発会社に転職したい! muchilogではIT系へ転職したいという方には「自社サービスを運営しているweb系企業」への転職をおすすめしています。
web系は「自由な社風」 「成長できる環境」 「ホワイトな労働条件」 であることが多いからです。
そんなweb系企業への転職を確実にするためのプログラミングスクールが登場しました。
RUNTEQ RUNTEQはただのスクールじゃない! RUNTEQはweb系の開発会社。開発会社が運営するスクールなので必要とされる技術力は勿論習得可能。 しかしそれだけではないのです。
特にweb系で転職・就職活動を行う際にはポートフォリオ を求められることがあります。ポートフォリオとは自分自身の作品のことで、技術力や企画力を示すものです。
RUNTEQではポートフォリオの作成を企画段階からサポート してくれます!
他のプログラミングスクールでは提携企業の派遣やアルバイトとして就職するしかなかったりもしますが、RUNTEQはあなたの市場価値を高める方法まで教えてくれるということですね。
また、RUNTEQが扱う教材はどれも第一線で当たり前に使われている技術。特に未経験者の独学ではどうしてもスキルセットに穴が 出来てしまいます。その点RUNTEQは確実に現場力を養えます。
そして2020年2月〜2021年12月までの内定者の98%がweb系企業に内定しています。 これはRUNTEQの指導力とサポートが優れていることの証拠でしょう。
まずは無料説明会 に申し込んではいかがでしょうか?
RUNTEQ