最近幾周,我試圖在我的laravel網站上實現OpenID身份驗證,但沒有成功。我無法使用laravel/socialite,因爲該軟件包不支持Steam並且認爲不支持OpenID身份驗證。Laravel上的Steam OpenID身份驗證
然後,我發現社區驅動project爲自定義社交適配器。但適配器是一團糟,並使用過時的依賴關係。
答案會幫助很多人。幫助我們:C
最近幾周,我試圖在我的laravel網站上實現OpenID身份驗證,但沒有成功。我無法使用laravel/socialite,因爲該軟件包不支持Steam並且認爲不支持OpenID身份驗證。Laravel上的Steam OpenID身份驗證
然後,我發現社區驅動project爲自定義社交適配器。但適配器是一團糟,並使用過時的依賴關係。
答案會幫助很多人。幫助我們:C
您需要使用Laravel Steam Auth
很容易設置:
作曲安裝
"invisnik/laravel-steam-auth": "2.*"
添加服務提供商的應用程序/配置/應用.php,在providers數組中。
'providers' => [ Invisnik\LaravelSteamAuth\SteamServiceProvider::class, ]
php artisan vendor:publish
config/steam-auth.php
Route::get('dologin', 'Auth\[email protected]');
使用這個活的代碼示例,從我沒有工作自述代碼:
<?php
public function dologin(Request $request)
{
if ($this->steam->validate()) {
$info = $this->steam->getUserInfo();
if (! is_null($info)) {
$user = User::where('token', $info->get('steamID64'))->first();
if (! is_null($user)) {
//Update user data, as it change over time..
$user->nick = $info->get('personaname');
$user->name = $info->get('realname') ?: '';
$user->avatar = $info->get('avatarfull');
$user->update();
} else {
$user = User::create([
'nick' => $info->get('personaname'),
'name' => $info->get('realname') ?: '',
'avatar' => $info->get('avatarfull'),
'token' => $info->get('steamID64'),
]);
}
Auth::login($user, true);
return redirect('/'); // redirect to site
}
}
return $this->steam->redirect(); // redirect to Steam login page
}
社會名流Steam登錄
作曲安裝
// This assumes that you have composer installed globally
composer require socialiteproviders/steam
服務提供商
從您的提供商配置\ APP []數組刪除Laravel \社會名流\ SocialiteServiceProvider。如果你已經添加了PHP。
將\ SocialiteProviders \ Manager \ ServiceProvider :: class添加到config \ app.php中的providers []數組中。
'providers' => [
// a whole bunch of providers
// remove 'Laravel\Socialite\SocialiteServiceProvider',
\SocialiteProviders\Manager\ServiceProvider::class, // add
];
添加事件和聽衆
protected $listen = [
\SocialiteProviders\Manager\SocialiteWasCalled::class => [
// add your listeners (aka providers) here
'SocialiteProviders\Steam\[email protected]',
],
];
環境變量,ENV文件
// other values above
STEAM_KEY=yourapikeyfortheservice
STEAM_REDIRECT_URI=https://example.com/login
來源: - http://socialiteproviders.github.io/providers/steam/
希望這有助於您的蒸汽登錄。
看看這個:https://github.com/invisnik/laravel-steam-auth>這個軟件包是一個Laravel 5服務提供商,它爲Steam OpenID提供支持 >,並且很容易與任何項目集成在一起 >需要Steam認證。它應該做你想做的。 'ReadMe'具有如何設置的詳細說明。 –
我一直在使用蒸汽社交名片,從來沒有遇到過問題 – Ian
使用[Steam Socialite](http://socialiteproviders.github.io/providers/steam/)包有什麼問題?你有什麼依賴性問題? – Leith