我想做的是为我的网站建立一个身份验证系统,使用Laravel passport作为后端,Angular作为前端
从官方文档中,我了解到我首先需要使用以下数据向/oauth/authorize route发出GET请求:
'client_id' : 1,
'redirect_uri' : `${this.baseURL}`,
'response_type' : 'code',
'scope' : '',
'state' : random_string(40)
然后使用上一个响应生成的代码向/oauth/token端点发出POST请求,以请求access_token
在当前状态下,当我使用postman发出第一个请求(/oauth/authorize)时,Laravel响应此错误:Route [login] not defined.
据我所知,在请求端点授权之前,我首先需要以某种方式对用户进行身份验证,但我不知道如何做到这一点。
我是否需要定义一些登录逻辑?比如我的控制器中的一个登录函数,它应该对我的用户数据做些什么?
其他信息:
- 我正在尝试对来自我的前端的用户进行身份验证,以使他们成为第一方用户
- 我不想使用“密码授予令牌”,因为文档不推荐使用它
1条答案
按热度按时间t9aqgxwy1#
您不必每次都发送GET请求来接收身份验证系统的令牌,因为它们是静态的,并且是在执行命令时生成的:php工匠护照:安装.
此数据存储在数据库oauth_clients的表(模式)中。
例如,您可以在Angular应用程序的环境中编写和使用它们,而不必每次都向服务器和数据库发出不必要的请求。当然,如果个人访问客户端和密码授予客户端令牌不断更新,例如由CRON更新,那么当然,在这种情况下,向服务器发送一个初步的GET请求是必要的,也是有意义的。
身份验证系统客户端部分的代码如下所示:
非常重要!为了满足您的授权请求并且不出现CORS错误,必须将其重定向到后端,例如使用以下方法使用代理。
开发环境中的功能测试:
我想你会发现我的回答很有帮助。如果有什么不清楚的地方,问吧!