【发布时间】:2017-03-03 17:39:23
【问题描述】:
在我的 laravel5.3 应用程序中,我想验证来自其他来源的用户,即我这边没有数据库。登录尝试后,我期望其他来源的 JSON 响应。谁能解释我该怎么做???谢谢!
【问题讨论】:
标签: php laravel laravel-5 oauth
在我的 laravel5.3 应用程序中,我想验证来自其他来源的用户,即我这边没有数据库。登录尝试后,我期望其他来源的 JSON 响应。谁能解释我该怎么做???谢谢!
【问题讨论】:
标签: php laravel laravel-5 oauth
为此,您应该有一些关于您要在示例中使用的外部 API 的信息,最重要的信息是:“如何加密该服务器中的用户密码?”,您只需要获取从前端传递的凭据,然后在后端向外部 API 请求用户,假设您正在使用 guzzle,您使用 guzzle 请求资源/users/<username>,该服务将提供来自 API 的所有数据如果用户存在,否则将找不到响应或类似的东西,使用此数据,您可以使用与外部服务器相同的加密技术加密密码,并使用Hash::check($value, $hashedValue)方法匹配密码,如果一切都很好,那么接下来你可以做的就是使用 Guard 登录用户,也许你需要创建一个自定义 Guard 以便将凭据存储在 cookie 或会话变量中,但如果你使用无状态身份验证通过智威汤逊,更容易,当你比较存储在外部 API 中的密码,如果返回 true,只需创建令牌并返回它。考虑在您的应用程序中使用 JWT 来验证您的服务的用户,更容易并且更适合您的情况,希望您用这个答案解决,最好! ;)
【讨论】:
就像您在任何其他网站上进行的普通 AJAX 调用一样: 例如:
$('#selector').click(function(){
var user-id=$('#user').val();
var password=$('#password').val();
$.getJSON('/authenticate-url/'+user+'/'+password, function(result) {
if(result.status == true)
alert 'login success';
else
alert 'Not successfull';
});
});
【讨论】: