我可以在春季启动时为oauth2在同一项目中同时使用grant_type = password和grant_type = authorization_code

时间:2018-11-13 08:37:41

标签: java spring-boot oauth-2.0

请让我知道,情况是如果我使用Alexa,则我们的项目应实现grant_type=authorization_code,而在使用我们自己的移动应用程序时,我们需要grant_type=password,这可能吗?

1 个答案:

答案 0 :(得分:0)

是的,可以。 存储客户端时,请为他们分配允许的授予类型(例如密码,授权码)。

作为示例,请看下面的代码:

clients.inMemory()
        .withClient("my-trusted-client")
            .authorizedGrantTypes("password", "authorization_code", "refresh_token", "implicit")
            .authorities("ROLE_CLIENT", "ROLE_TRUSTED_CLIENT")
            .scopes("read", "write", "trust")
            .secret("secret")
            .accessTokenValiditySeconds(120).//Access token is only valid for 2 minutes.
            refreshTokenValiditySeconds(600);//Refresh token is only valid for 10 minutes.
}

我受信任的客户端客户端可以使用密码或授权码。

该摘录来自this guide,我强烈建议您与this one一起阅读。此外,作为注释,您应该阅读OAuth2 RFC。这是了解流程的最佳指南。