ウェブアプリケーションに実装する必要があるReact(ブランドガイドラインに準拠)にカスタムGoogleログインボタンがあります。アンドロイドアプリにはすでにGoogleログインが実装されており、認証コードをBEに送信する必要があります。私は認証コードにアクセスする際に問題があるようです(私はアクセストークン、id、およびid_tokenをかなり簡単に取得できます)。Google OAuth2 JSが認証コードを取得できない
私のような初期化:私のコンポーネントを反応させるので
static googleInit (googleSignInID) {
gapi.load('auth2',() => {
ThirdPartyLogInApi.auth2 = gapi.auth2.init({
// Retrieve the singleton for the GoogleAuth library and set up the client.
client_id: `${googleSignInID}.apps.googleusercontent.com`,
})
})
}
を、私は(私は他のstackoverflowの問題で見てきたよう)リアクトrefにクリックハンドラを添付してください。成功コールバック(this.onGoogleSuccess)で
componentDidMount() {
// element, options, success, failure
ThirdPartyLogInApi.auth2.attachClickHandler(
this.button,
{},
this.onGoogleSuccess,
this.setProcessingToFalse
);
}
、私はid_tokenとaccess_tokenはを取得するには、ユーザー情報とgoogleUser.getAuthResponse(true)を取得するためにgoogleUser.getBasicProfile()を呼び出すことができるが、私は認証コードが必要ですあまりにも。
私はこれに関するGoogleの文書で私の知恵を失っています。誰かが正しい方向に向かうことができますか?私はユーザー情報が必要なので、全体の認証フローをgapi.auth2.authorizeを使用するように切り替える必要はありません。
ありがとう
EDIT:認証コードにアクセスすることは可能ですか? Googleがそのステップを撤回してすぐにid_tokenを返すようだ。 4/RQFWJLGd3sJQrgxuRaguzJy2yiUV4fAqVGftRSUYuqc
こんにちは、これを把握できましたか?私はあなたと同じ船にいる。認証コードを取得する他の唯一の方法は、 'auth2.grantOfflineAccess()'を呼び出すことですが、それは要求の別のサインを促します。 'gapi.auth2.init()'または 'auth2.grantOfflineAccess()'のどちらかを使うべきです。 1回の通話でどのように逃げるかはわかりません。 –