85982


Googleアカウントからユーザー情報を受け取り、その中のプロフィール画像をセッションに保存してhtml上で表示したいのですが、インスペクタで確認したところ<img
src(unknown)>と表示され、htmlでも正しく表示されません。

以下、コードです。

#### GoogleLoginController.php

[code]

    public function handleGoogleCallback(Request 
    $request)
        {
            // Google 認証後の処理
            $googleUser = Socialite::driver('google')->stateless()->user();
    
            
            $user = User::where([
                'email' => $googleUser->email,
                'name' => $googleUser->name
                ])
                ->first();
    
            // メールアドレスがDB内の情報と一致するか
            if ($user == null) {
                $user = $this->createUserByGoogle($googleUser);
            }
    
            Auth::login($user, $remember = true);
            $request->session()->push('users', $user->email); // 配列に保存
            $request->session()->push('admin', $user->admin);
            $request->session()->push('avatar', $googleUser->getAvatar());
    
            
            return redirect()
                ->route('index')
                ->with('flash_message', 'ログインしました');
        }
    
[/code]

#### layout.blade.php

[code]

    <?php $avatar_link = session()->get('avatar'); ?>
    
    @if (session()->has('avatar'))
        <div class="account-icon">
            <button type="submit" onclick="location.href='{{ route('mypage') }}'"><img src="<?php $avatar_link ?>"></button>
        </div>
    @else
        <div class="account-icon">
            <button type="submit" onclick="location.href='{{ route('mypage') }}'"><img src="{{ secure_asset('icon_tpl/man.png') }}"></button>
        </div>
    @endif
    
[/code]


CC BY-SA 4.0
2022-01-27T06:40:09.910
85968
2022-01-31T14:51:26.577
2022-01-31T14:51:26.577
51111
51111
question
php laravel google-api session
Laravel8.x GoogleAPIによるログイン機能を実装しましたが、プロフィール画像をセッションに保存した際にbladeファイルで正しく表示できません


セッションを介すのが適切かはしりませんが、であれば

[code]

    <img src="{{ session()->get('avatar') }}"></button>
    
[/code]

などのようになりませんか？


CC BY-SA 4.0
2022-01-27T19:39:44.227
85982
2022-01-27T19:39:44.227
2376
85968
answer