Grails OAuth2 signin Password Credentials Grant returns inva



我正在开发一个受OAuth2身份验证保护的基本grails应用程序——代码在这里。它只不过是spring-security和spring-security-oauth插件为入门应用程序提供的东西。在我的引导中,我有(根据入门):

Role roleUser = new Role(authority: 'ROLE_USER').save(flush: true)
User user = new User(
        username: 'user',
        password: 'password',
        enabled: true,
        accountExpired: false,
        accountLocked: false,
        passwordExpired: false
).save(flush: true)
UserRole.create(user, roleUser, true)
new Client(
        clientId: 'my-client',
        authorizedGrantTypes: ['authorization_code', 'refresh_token', 'implicit', 'password', 'client_credentials'],
        authorities: ['ROLE_CLIENT'],
        scopes: ['read', 'write'],
            redirectUris: ['http://example.com']
).save(flush: true)

我试图理解OAuth登录流以下的示例流中列出的文档。

每当我尝试使用"资源所有者密码凭证授予"与此请求进行身份验证时:

$ curl -X POST -d "client_id=my-client" 
    -d "grant_type=password" -d "username=user" 
    -d "password=password" -d "scope=read" 
     http://localhost:9090/grails-oauth-service/oauth/token

我得到以下消息:

{"error":"invalid_client","error_description":"Bad client credentials"}

我做错了什么?我(或我的客户机)如何正确地进行单个调用以对服务进行身份验证?

睡眠在解决问题方面的作用是惊人的。我准备重新创建整个设置,我在入门指南中搞砸了一些东西。

从插件下载页面开始,查看最新的插件版本:

spring-security-oauth2-provider: 2.0 - RC5

并与我的应用进行对比因为某些原因我在应用中使用了

spring-security-oauth2-provider: 2.0 - RC3

我升级了插件,重新运行了s2-init-oauth2-provider脚本,启动了它,上面的curl帖子工作了!浏览RC-5的变更日志,我看到

解决影响OAuth 2.0资源无状态访问的一些小问题

所以基本上我在oauth provider插件的那个版本遇到了一个bug。有趣的时代。

相关内容

  • 没有找到相关文章

最新更新