使用React oauth库,显示用户授权界面

起初

个人开发笔记?
※由于正在实施中,因此将根据进展进行更新。

使用语言

后端 → PHP/Laravel
前端 → React

我在Laravel中使用Vite引入React。

创建Google OAuth的客户端信息

制作步骤参考以下链接:
https://www.delftstack.com/ja/howto/react/react-use-google-oauth-authentication/

当制作完成后,即可获取客户端ID和客户端密钥。
※即使关闭对话框,仍可随后查看身份验证信息的详细内容。

将从步骤1获取的客户端ID和客户端密钥存储在.env文件中进行管理。

// 省略
GOOGLE_CLIENT_ID=取得したID
GOOGLE_CLIENT_SECRET=取得したシークレット
GOOGLE_REDIRECT=設定時に記載したリダイレクト先

【3】引入react的OAuth库

npm install @react-oauth/google@latest

由于React的版本是v18,所以选择了上述的库。GitHub⇨https://github.com/MomenSherif/react-oauth

【4】屏幕显示实施认可

已将该登录组件添加。

import { GoogleOAuthProvider, useGoogleLogin } from '@react-oauth/google';

function loginUserForm() {

     省略

    return(
        {/* Googleログイン */}
        <div className={ Login.login__google }>
            {/* GoogleOAuthProviderでラップする */}
            <GoogleOAuthProvider clientId={ import.meta.env.VITE_GOOGLE_CLIENT_ID }>
                <ProsessToProvider />
            </GoogleOAuthProvider>
        </div>
    );
};

// Googleログイン処理
export function ProsessToProvider() {
  const login = useGoogleLogin({
    // 認証が成功した際に実行される、コールバック関数 ※現時点ではまだ使用していません
    onSuccess: (codeResponse) => console.log(codeResponse),
  });

  return (
    <button onClick={ login }>Google Login</button>
  );
};
// laravelの.envファイルにあるIDを使用するため環境変数の呼び出し
<GoogleOAuthProvider clientId={ import.meta.env.VITE_GOOGLE_CLIENT_ID }>

这次,我们在laravel中引入了Vite来使用react,所以使用import.meta.env进行调用。据说在调用Vite的环境变量时,需要在前面加上VITE_作为规定。

参考网站⇨https://ja.vitejs.dev/guide/env-and-mode.html

为了进行上述调用,我们还要修改laravel的.env文件。

VITE_GOOGLE_CLIENT_ID=XXXXXXXXXXX

确认行动

スクリーンショット 2023-11-20 3.54.51.png
スクリーンショット 2023-11-20 3.55.12.png

现在已经开始显示认可界面。
在另一篇文章中,我想要进行认证。

广告
将在 10 秒后关闭
bannerAds