我已经四处搜寻,但没有找到任何能够帮助我的东西。
我对oAuth非常陌生。
我正在使用 https://github.com/lucadegasperi/oauth2-server-laravel。
我正在构建一个REST API服务。 客户端
将是网站。我使用 密码流程
进行身份验证。
我的理解是,如果我错了,请纠正我。
oauth_clients
表(id、secret、name)。客户端
不是登录网站的个人用户,而是网站本身。我将使用 客户端
的 id 和 secret 以及个人用户的用户名和密码。
我正在按照上面页面上的说明进行操作。
我正在使用POST
方法访问http://api.domain.com/oauth/access_token?grant_type=password&client_id=BCA545A934F5F4528DA3EE567E8E4&client_secret=5184B7C4E11ED3EEF99DA1A1DD9C3&username=email@email.com&password=password&scope=scope1,scope2&state=123456789
这样可以对客户端和用户进行身份验证,但这里有一个问题。我不知道在哪里设置scope
或state
以下是响应结果:{
"error": "invalid_scope",
"error_description": "The requested scope is invalid, unknown, or malformed. Check the \"scope1\" scope."
}
即使我设置了Scope或State,我也不知道下一步该怎么做?谢谢。
编辑
我向作用域表添加了一个虚拟记录,并将该值添加到作用域中,它起作用了。
我现在理解了作用域,但我不知道为什么需要它。
我收到了一个带有访问令牌的响应。我现在真正理解了oAuth的概念。我已经实现了一个登录/访问令牌系统,但我可能会放弃它并坚持使用oAuth。 我试图使用oAuth对网站进行REST API服务身份验证,但看起来这不是正确的方法。 那么现在我的下一个问题是:是否有一种将访问令牌添加到标头而不是URL参数的方法?