<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Google認証  |  OZの教える×プログラミング成長記</title>
	<atom:link href="https://oz006.com/tag/google%E8%AA%8D%E8%A8%BC/feed/" rel="self" type="application/rss+xml" />
	<link>https://oz006.com</link>
	<description></description>
	<lastBuildDate>Wed, 17 Sep 2025 03:48:47 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://oz006.com/wp-content/uploads/2024/10/cropped-OZLogo-32x32.png</url>
	<title>Google認証  |  OZの教える×プログラミング成長記</title>
	<link>https://oz006.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>OAuth 2.0って何？</title>
		<link>https://oz006.com/oauth/</link>
					<comments>https://oz006.com/oauth/#respond</comments>
		
		<dc:creator><![CDATA[oz]]></dc:creator>
		<pubDate>Wed, 17 Sep 2025 03:48:46 +0000</pubDate>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[Google認証]]></category>
		<category><![CDATA[OAuth2.0]]></category>
		<guid isPermaLink="false">https://oz006.com/?p=754</guid>

					<description><![CDATA[実際の流れを見てみよう 実際のプログラムを見てみよう セキュリティは大丈夫？ まとめ]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="1000" height="1000" src="https://oz006.com/wp-content/uploads/2025/09/OAuth2.0.jpg" alt="" class="wp-image-757" srcset="https://oz006.com/wp-content/uploads/2025/09/OAuth2.0.jpg 1000w, https://oz006.com/wp-content/uploads/2025/09/OAuth2.0-300x300.jpg 300w, https://oz006.com/wp-content/uploads/2025/09/OAuth2.0-150x150.jpg 150w, https://oz006.com/wp-content/uploads/2025/09/OAuth2.0-768x768.jpg 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></figure>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-8 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/プロ太01.png" alt="プロ太" class="speech-icon-image"/></figure><div class="speech-name">プロ太</div></div><div class="speech-balloon">
<p>さて、今日はGoogle認証について学習していきましょう♫<br>OZくんは「OAuth 2.0」という仕組みを聞いたことある？</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-11 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/OZ03.png" alt="OZ" class="speech-icon-image"/></figure><div class="speech-name">OZ</div></div><div class="speech-balloon">
<p>オーオース…？初めて聞きます。</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-8 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/プロ太01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>難しく考えなくて大丈夫。身近な例で説明するね。<br>OZくんが友達に「代わりに宿題を取りに行って」って頼む場面を想像してみて。</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-7 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/OZ01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>了解です！想像しました！</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-8 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/プロ太01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>でも、先生は友達のことを知らないから「あなた誰？」ってなりますよね。そこでOZくんが友達に<strong>「私の代わりに宿題を取りに行ってください」という手紙</strong>を渡したとします。</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-7 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/OZ01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>あ！分かった！<span class="bold">委任状</span>みたいなものですね！</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-8 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/プロ太01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>そう！！それが理解できたら、OAuth 2.0も理解できるよ！OAuth 2.0も同じ考え方なんだよ。</p>
</div></div>



<ol class="wp-block-list">
<li>あなた（ユーザー）が写真印刷サービスを使いたい</li>



<li>サービスが「Googleフォトから写真を取得していいですか？」と聞く</li>



<li>あなたが「はい、いいですよ」と<strong>許可</strong>する</li>



<li>Googleが「この人は許可しました」という<strong>証明書</strong>をサービスに渡す</li>



<li>サービスがその証明書を使って、あなたの写真を取得</li>
</ol>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-7 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/OZ01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>なるほど！パスワードを教えるんじゃなくて、「この人は信頼できます」っていう証明書を渡すんですね。</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-8 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/プロ太01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>その通り！しかも、この許可はいつでも取り消せるし、「写真だけアクセスOK、でもメールはダメ」みたいに細かく設定できるんだ。</p>
</div></div>



<h2 class="wp-block-heading">実際の流れを見てみよう</h2>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-8 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/プロ太01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>じゃあ、実際にユーザーがGoogle認証を使う時の流れを見てみましょう。OZくんが新しいアプリに登録する場面を想像してください。</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-7 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/OZ01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>はい！</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-8 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/プロ太01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p><strong>ステップ1</strong>: アプリで「Googleアカウントでログイン」ボタンを押してください。</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-7 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/OZ01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>ポチッ！っとな！</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-8 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/プロ太01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p><strong>ステップ2</strong>: すると、Googleのページに飛ばされます。そこで「○○アプリにログインしますか？」って聞かれる</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-7 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/OZ01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>おぉ！よく見る画面ですね！ここで「許可」を押すんですよね？</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-8 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/プロ太01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p><strong>ステップ3</strong>: そう！「許可」を押すと、元のアプリに戻されて&#8230;</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-7 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/OZ01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>ログイン完了！</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-8 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/プロ太01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p><strong>ステップ4</strong>: その通り！この時、裏ではGoogleからアプリに「この人の名前はOZで、メールアドレスは○○です」みたいな情報が送られてるんだよ。</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-11 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/OZ03.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>へぇ〜！でも、その情報って勝手に送られちゃうんですか？</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-8 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/プロ太01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>いい質問だね！<strong>ユーザーが「許可」ボタンを押さない限り、何も送られません</strong>。しかも、送られる情報も事前に「名前とメールアドレスにアクセスします」って表示されるから、何を共有するかが分かるんだよ。</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-7 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/OZ01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>安心ですね！勝手に全部見られちゃうのかと思いました。</p>
</div></div>



<h2 class="wp-block-heading">実際のプログラムを見てみよう</h2>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-8 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/プロ太01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>今度は、実際にどうやってプログラムを書くのか見てみましょう。Laravelという技術を使った例です。<br>まず、ユーザーが「Googleでログイン」ボタンを押した時の処理から見ていきましょう。</p>
</div></div>



<div class="hcb_wrap"><pre class="prism off-numbers lang-php" data-lang="PHP"><code>// Googleの認証画面に送る処理
public function redirectToGoogle()
{
    return Socialite::driver(&#39;google&#39;)-&gt;stateless()-&gt;redirect();
}</code></pre></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-11 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/OZ03.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>これだけでGoogleのページに飛ばせるんですか？</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-8 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/プロ太01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>そうだよ！<span class="bold"><span class="marker-under">「Socialite」っていう便利なツール</span></span>が全部やってくれるんです。次は、Googleから帰ってきた時の処理を見ていこう！</p>
</div></div>



<div class="hcb_wrap"><pre class="prism off-numbers lang-php" data-lang="PHP"><code>public function handleGoogleCallback()
{
    // Googleからユーザー情報をもらう
    $googleUser = Socialite::driver(&#39;google&#39;)-&gt;stateless()-&gt;user();
    
    // このメールアドレスの人、もう登録済み？
    $existingUser = User::where(&#39;email&#39;, $googleUser-&gt;getEmail())-&gt;first();
    
    if ($existingUser) {
        // 既に登録済み → ログインさせる
        Auth::login($existingUser);
    } else {
        // 初めての人 → 新しくアカウントを作る
        $user = User::create([
            &#39;name&#39; =&gt; $googleUser-&gt;getName(),
            &#39;email&#39; =&gt; $googleUser-&gt;getEmail(),
            // ... その他の情報
        ]);
        Auth::login($user);
    }
}</code></pre></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-7 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/OZ01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>なるほど！既に登録している人と初めての人で処理を分けてるんですね。</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-8 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/プロ太01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>その通り！既に登録している人はそのままログインして、初めての人は自動で新しいアカウントを作ってからログインさせてるんだよ。</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-7 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/OZ01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>自動でアカウントが作られるなんて、便利ですね！</p>
</div></div>



<h2 class="wp-block-heading">セキュリティは大丈夫？</h2>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-11 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/OZ03.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>でも先生、こんなに便利だと、逆にセキュリティが心配になってきました。悪い人に悪用されたりしないんですか？</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-8 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/プロ太01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>実は、Google認証をちゃんと実装するには、いくつか注意が必要なんだよ。</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-11 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/OZ03.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>どんなことに注意するんですか？</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-8 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/プロ太01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>まず一番重要なのは、<strong>HTTPS</strong>を使うことだよ</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-7 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/OZ01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>HTTPSって、URLの最初に鍵マークが付くやつですね！</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-8 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/プロ太01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>そう！暗号化されていないと、通信の途中で悪い人に認証情報を盗まれる可能性があるんだよ。</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-11 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/OZ03.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>怖い…他にはどんな対策があるんですか？</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-8 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/プロ太01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>二つ目は、<strong>秘密の情報をソースコードに直接書かない</strong>ことだね。</p>
</div></div>



<div class="hcb_wrap"><pre class="prism off-numbers lang-php" data-lang="PHP"><code>// &#x274c; 危険：コードに直接書く
&#39;client_secret&#39; =&gt; &#39;abc123def456&#39;,

// &#x2705; 安全：設定ファイルで管理
&#39;client_secret&#39; =&gt; env(&#39;GOOGLE_SECRET&#39;),</code></pre></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-7 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/OZ01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>なるほど！家の鍵を玄関に置きっぱなしにしないのと同じ感じですね。</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-8 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/プロ太01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>そして、三つ目は、<strong>必要最小限の情報だけもらう</strong>ことだね。</p>
</div></div>



<div class="hcb_wrap"><pre class="prism off-numbers lang-php" data-lang="PHP"><code>// &#x274c; 危険：何でもかんでも取得
$scopes = [&#39;email&#39;, &#39;profile&#39;, &#39;calendar&#39;, &#39;drive&#39;, &#39;photos&#39;];

// &#x2705; 安全：本当に必要な分だけ
$scopes = [&#39;email&#39;, &#39;profile&#39;];</code></pre></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-7 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/OZ01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>確かに！必要ない情報までもらわない方が安全ですもんね。</p>
</div></div>



<h2 class="wp-block-heading">まとめ</h2>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-8 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/プロ太01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>というわけで、Google認証は、ユーザーがGoogleアカウントを使って他のサイトにログインできる仕組みです。OAuth 2.0という国際標準を使用していて、ユーザーの許可を得て安全に情報を共有します。Laravelだと、Laravel Socialiteを使って、簡単に実装することができる。既存ユーザーかどうかをメールアドレスで判定し、新規の場合は自動でアカウントを作成する仕組みを使えるということを押させておきましょう♫</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-7 sbs-stn sbp-l sbis-sb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oz006.com/wp-content/uploads/2024/10/OZ01.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>はい！ありがとうございました！！</p>
</div></div>
]]></content:encoded>
					
					<wfw:commentRss>https://oz006.com/oauth/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
