vis*_*ion 8 php laravel laravel-socialite
我正在尝试使用Laravel 5.1中的社交网站登录.我已经安装了社交网站并遵循以下教程:
https://mattstauffer.co/blog/using-github-authentication-for-login-with-laravel-socialite
http://tutsnare.com/social-authentication-in-laravel-5/
我已经按照每一步,当尝试使用Github登录时,它重定向到Github并在登录后重定向到URL回调,但我的问题是它不会将用户数据存储在我的数据库中.
更新1
现在我的问题是如何使用社交网络验证用户.以下是我的代码,但它会抛出一个错误,说明未定义的索引密码.该错误因为Auth::attempt()有passsword参数.
if (Auth::attempt(['email' => $email, 'user_id' => $user_id])) {
return redirect()->intended('user/UserDashboard');
} else {
here i am going to insert if user not logged in already
}
Run Code Online (Sandbox Code Playgroud)
更新2
经过一些研究,我意识到我需要创建自定义身份验证驱动程序.如果有任何想法请发表您的答案
一年前提出同样的问题
那么我假设的第一件事就是你跑了php artisan migrate(这可能是你的主要问题).
接下来在将数据存储到数据库时遇到的问题,您是否从该类 连接到数据库\App\User?如果你给它命名了不同的东西我请求你在第一个之后更改那个部分\App\[YourClassName].
好吧,如果它正常工作,你可能会遇到重新获取数据的问题.试着在某种不同的路线上尝试这样做:
<?php
//Routes.php
Route::get('trygithub', function(){
$user = Socialize::with('github')->user()
dd($user);
});
Run Code Online (Sandbox Code Playgroud)
如果你在屏幕上得到一些输出,那就没关系.如果您没有得到任何东西,请尝试检查您的github配置.
还有一件事......如果你没有获得所需的输出,请尝试在下面评论.但我非常肯定这些肯定会奏效.
Update-1答案:
如果您想尝试为您的用户登录,并且您正在使用任何社交个人资料,例如让我们说FB,您需要这样:

而且这不仅仅是FB的一个案例,你得到一些像谷歌这样的特定代码,你得到一个刷新令牌代码,在twitter中有一个永久访问令牌和秘密.所以试着去尝试.或者,将一个特定术语作为用户的密码.str_random()可能会有所帮助,我强烈建议而不是这两个.
更新-2回答:
我不建议通过这个,因为你不会通过重新发明轮子得到任何东西.但是如果你想要经历那个令人讨厌的过程,那么这就是链接.
http://laravel.com/docs/5.1/authentication#adding-custom-authentication-drivers