問題タブ [apple-sign-in]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apple-sign-in - ASAuthorizationController が既存のセットアップ フローで失敗する
Apple の例では、以下に示すコードを使用して、ログイン ビューが表示されるとすぐに認証試行を実行すると述べています。コードを実行すると、次の役に立たないエラーが表示されます。
[コア] 認証に失敗しました: エラー Domain=AKAuthenticationError Code=-7001 "(null)" UserInfo={AKClientBundleID=com.....SignInWithApple}
共有された Web クレデンシャルに何かが保存されていて、それを取得できる可能性があります。私が使用しているコードは次のとおりです。
ここで一歩を踏み外しましたか?
watchkit - SwiftUI - watchOS での Apple クラッシュでサインイン
SwiftUI を使用して、watchOS にSign in with Appleを実装しています。
WKInterfaceAuthorizationAppleIDButton
は View プロトコルに準拠していないため、SwiftUI ビューで使用するためにラップしていますWKInterfaceObjectRepresentable
。
ボタンのタップを処理するコーディネーターを実装しました。これは、サインアップ プロセスのコールバックのデリゲートとしても機能します。
以下は私のコードです:
[サインイン] ボタンをタップするたびに、毎回次のエラーでアプリがクラッシュします。
スレッド 1: EXC_BAD_ACCESS (コード = 1、アドレス = 0x74747572)
コードやコーディネーターの実装方法に問題がある場合、誰か助けてもらえますか?
ただし、上記のコードは、SwiftUI の iOS でASAuthorizationAppleIDButton
ボタンを使用して動作します
さらに、WatchKit で Sign in with Apple を実装すると、問題なく動作します。
そのため、実装の詳細がいくつか欠けているようです。これについて何か助けていただければ幸いです。
更新: 私はEXCエラーを探しましたが、ほとんどの回答は、これらのクラッシュの原因として不正なメモリ アクセスを指摘しています。
ターゲット アクション クラッシュをさらに検索すると、ターゲットがメモリ プールから解放されるとクラッシュすることが明らかになりました。
コーディネーターを自動解放せずにメモリに保持するにはどうすればよいですか?
ios - Apple でサインイン - 異なる動作シミュレータ VS iPhone
Xcode (ベータ 11.0 ベータ 6) を使用して Apple でサインインをセットアップしようとしています。
シミュレーターでは問題なく動作しますが、iPhone (iOS 13.1) で実行すると、同じ表示が得られません。
シミュレーター:
iPhone の場合:
これは、「Apple でサインイン」と呼ぶ方法です。
私のデバッグに基づいて、どちらの場合もコードが実行され、電子メール + フルネーム スコープが authorizationController に設定されていることがわかりました。
どちらの場合も、[Apple でサインイン] が表示され、フルネームについて尋ねられ、メールを非表示にするかどうかを尋ねられることを期待しています...
ただし、シミュレーターでのみ発生します。iPhone では、「続行」して、顔を認識させます。それだけです。
どちらの場合も、これは次の後に呼び出されます。
しかし、シミュレーターの場合、値を取得できます
私のiPhoneでは、次の値しか取得できません
ご協力ありがとうございました !:)
PS: どちらの場合も同じ Apple アカウントで接続しようとしたため、Apple の構成を調べてみましたが、それが問題なのかどうかはわかりません。
php - Apple 認証コードをアクセス トークンと交換するにはどうすればよいですか?
Apple でサインインする方法を理解するのに苦労しています。ドキュメンテーションはひどいものであり、失敗した応答は私たちに無知を残します。Aaron Parecki の記事 ( https://developer.okta.com/blog/2019/06/04/what-the-heck-is-sign-in-with-apple ) は少し役に立ちますが、今は立ち往生しているようです.
最初に、次のように /auth/authorize を使用してログイン URL を生成します。
ドメインの検証とリターン URL に苦労した後、Apple のログイン ページに移動し、ログインに成功すると、redirect_uri に戻ります。次に、Guzzle を使用して実行するトークンを承認する必要があります。
クライアント シークレットは、Firebase php-jwt ( https://github.com/firebase/php-jwt ) を使用して生成され、jwt.io を通じて有効になります。
ただし、Apple へのトークン要求を実行すると、「invalid_client」というメッセージとともに 400 エラーが返されます。client-id/secret が間違っているのか、リダイレクトからのコードが無効なのかわかりません。誰かが私を正しい方向に向けることができますか?
編集: ES256 を使用できるように、JWT クラスをオーバーライドすることに注意してください。詳細については、このオープン プル リクエストを確認してください。