happyonlinegr / socialite-provider-vipps
此软件包最新版本(dev-main)没有提供许可证信息。
Vipps Provider for Laravel Socialite
dev-main
2022-07-25 15:20 UTC
Requires
This package is not auto-updated.
Last update: 2024-09-20 11:08:12 UTC
README
安装
composer require happyonlinegr/socialite-provider-vipps
服务提供者
添加到 app.php
'providers' => [ Laravel\Socialite\SocialiteServiceProvider::class, \SocialiteProviders\Manager\ServiceProvider::class, ];
事件监听器
- 将
SocialiteProviders\Manager\SocialiteWasCalled
事件添加到app/Providers/EventServiceProvider
中的listen[]
数组。
示例
/** * The event handler mappings for the application. * * @var array */ protected $listen = [ \SocialiteProviders\Manager\SocialiteWasCalled::class => [ '\SocialiteProviders\Vipps\VippsExtendSocialite@handle', ], ];
配置设置
您需要将条目添加到服务配置文件,以便在配置文件在生产环境中缓存后(使用Laravel命令 artisan config:cache
)所有配置仍然可用。
添加到 config/services.php
。
'vipps' => [ 'client_id' => env('VIPPS_CLIENT_ID'), 'client_secret' => env('VIPPS_CLIENT_SECRET'), 'redirect' => env('VIPPS_REDIRECT_URI'), ],
请记住在Vipps门户中允许redirect_uri。
5. 使用方法
要初始化Vipps登录,请将以下内容添加到您的控制器中
return Socialite::driver('vipps')->redirect();
您现在在回调函数中已从Vipps获取了用户令牌。现在我们需要使用用户令牌来获取已认证用户的电话号码。
$user = Socialite::driver('vipps')->stateless()->user();
VippsAuthController的示例
<?php namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use Laravel\Socialite\Facades\Socialite; class VippsAuthController extends Controller { public function index(Request $request) { return Socialite::driver('vipps')->redirect(); } public function handleCallback() { $user = Socialite::driver('vipps')->stateless()->user(); if (!$user) { //Return error message } //Do stuff } }