[エラー解決]反応-google-loginのidpiframe initiation failed
問題の状況
react-gogl-gogloginライブラリを使用してGoogleログインを実現する過程で、このエラーメッセージはコンソールに出力されます.
これは、次のコードをクリックして生成されたグーグルボタンをクリックするとエラーが発生し、ユーザーがデータを受信することを阻止します.
(ただしFirefoxでテストすると、ユーザーのデータを誤って返さない…なぜでしょうか…?🤔)
import GoogleLogin, { useGoogleLogin } from 'react-google-login';
import * as config from '../../config';
function Google() {
const onSuccess = (response) => {
console.log(response);
// 받아온 데이터 처리하기
}
const onFailure = (error) => {
console.log(error);
}
return (
<div>
<GoogleLogin
clientId={config.GOOGLE_CLIENT}
buttonText="Login with Google"
onSuccess={onSuccess}
onFailure={onFailure}
cookiePolicy={'single_host_origin'}
/>
</div>
)
}
原因分析
正式な書類を確認しましたが、原因は以下の通りです.
Google Auth APIの初期化に失敗しました(クライアントがサードパーティCookieを有効にしていない場合)
Chrome(55.0.2883.95)は、個人情報を保護するために「サードパーティCookieとWebサイトのデータを遮断する」を設定します.私の場合、これはクライアントがサードパーティセッションストレージを有効にしていないためです.
解決策
Google Chromeブラウザ設定>プライバシーとセキュリティ>Cookieとその他のサイトデータ
これによりエラーが消え、ユーザーデータが正常に受信されます.🥳
Reference
この問題について([エラー解決]反応-google-loginのidpiframe initiation failed), 我々は、より多くの情報をここで見つけました https://velog.io/@wiostz98kr/ERROR-react-google-login의-idpiframeinitializationfailed-에러テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol