【发布时间】:2014-07-16 00:22:41
【问题描述】:
我搜索了高低,但没有找到任何有用的东西。
我对 oAuth 很陌生。
我正在使用https://github.com/lucadegasperi/oauth2-server-laravel。
我正在构建一个 REST API 服务。 The Client 将是网站。我正在使用Password Flow 进行身份验证。
我的理解,如果我错了,请纠正我。
oauth_clients 表(ID、秘密、名称)。 The Client 是网站而不是登录网站的个人用户。我将使用The Client 的 id 和 secret 以及个人用户的用户名和密码。
我正在按照上面页面上的说明进行操作。
我在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上使用POST方法
这可以很好地验证客户端和用户,但这是问题所在。我不知道我在哪里设置 scope 或 state
这是回复{
"error": "invalid_scope",
"error_description": "The requested scope is invalid, unknown, or malformed. Check the \"scope1\" scope."
}
我真的不知道下一步是什么,即使我设置了 Scope 或 State 下一步是什么?
谢谢。
编辑
我在范围表中添加了一个虚拟记录,并将该值添加到 to 范围中,它起作用了。
我现在确实了解范围,但我只是不知道为什么需要它。
我收到了带有访问令牌的响应。我现在实际上理解了oAuth的概念。我已经实现了登录/访问令牌系统,但我可能会摆脱它并坚持使用 oAuth。 我试图使用 oAuth 向 REST API 服务验证网站,但它看起来不像那样做。
所以现在我的下一个问题是:有没有办法将访问令牌添加到标头而不是作为 URL 参数?
【问题讨论】:
-
您是在尝试制作oauth 服务还是尝试使用社交身份验证服务登录用户?
-
oAuth 服务。有没有更好的方法将 API 服务连接到网站。我想锁定 API,以便只有网站可以访问它,并有可能打开部分 API。
标签: php api rest laravel oauth-2.0