我目前正在构建一个Web应用程序,它是一个AngularJS前端,它与使用Laravel构建的RESTful API进行通信 . 我取得了很好的进展,但发现很难理解如何处理用户身份验证 .
我决定使用它,因为它对我来说也可能是一次学习经历 . 我用来处理这个的包是oauth2-server-laravel .
基本用户故事是用户可以为应用程序注册他们的用户名/密码组合,然后他们使用相同的用户名和密码登录应用程序 . 它们仅通过用户名和密码进行身份验证,而不是通过任何客户端密钥进行身份验证 . 登录后,应为他们提供一个访问令牌,该令牌将与每个将来的请求一起发送,以在不同的API endpoints 上对其进行身份验证 .
OAuth2库有一个"password flow" grant类型,这似乎是我需要的,但它也需要 client_id 和 client_secret 参数,我不想要 . 请求URI是这样的:
POST https://www.example.com/oauth/access_token?
grant_type=password&
client_id=the_client_id&
client_secret=the_client_secret&
username=the_username&
password=the_password&
scope=scope1,scope2&
state=123456789
但我想要的只是:
POST https://www.example.com/oauth/access_token?
grant_type=password&
username=the_username&
password=the_password
我是如何提供尚未进行身份验证的用户的客户端ID和秘密?
是否有我可以使用的不同授权,或者我想要实现的根本不适合OAuth?