Spring OAuth2 - 如何使用 /oauth/authenticate 端点?
Spring OAuth2 - how to use the /oauth/authenticate endpoint?
所以...我正在努力使用 Spring Boot OAuth2 来实现授权服务器。现在我收到 403 响应:
GET oauth/authorize?username=demo&password=demo&client_id=demo&response_type=token
看在上帝的份上,请求可以吗?我想从浏览器应用程序调用此端点,它应该 return 一个 access_token 和一个 refresh_token。为什么我需要为此提供 client_id?为此,我处于精神崩溃的边缘。您应该如何向此端点发送请求?
响应是:
{
"timestamp": "2019-09-15T05:03:17.206+0000",
"status": 403,
"error": "Forbidden",
"message": "Access Denied",
"path": "/oauth/authorize"
}
编辑:
我的简化问题是:@EnableAuthorizationServer
是否有一个端点,并且它像我想象的那样工作?您提供用户名和密码,它 return 是 access_token 和 refresh_token。
ClientId 仅供用户访问服务器。所以首先创建一个服务器,然后尝试创建客户端:
在服务器中添加此代码:
@Override
public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
clients
.inMemory()
.withClient("ClientId")
.secret("secret")
.authorizedGrantTypes("authorization_code")
.scopes("user_info")
.autoApprove(true);
}
客户端:在 spring 属性 中正确添加您的客户端 ID,您保存在服务器中
答案是肯定的终点是POST/oauth/token
带参数:
username -> YOUR_USERNAME
password -> YOUR_PASSWORD
grant_type -> password
clientId 和密码必须在授权中发送 header。
所以...我正在努力使用 Spring Boot OAuth2 来实现授权服务器。现在我收到 403 响应:
GET oauth/authorize?username=demo&password=demo&client_id=demo&response_type=token
看在上帝的份上,请求可以吗?我想从浏览器应用程序调用此端点,它应该 return 一个 access_token 和一个 refresh_token。为什么我需要为此提供 client_id?为此,我处于精神崩溃的边缘。您应该如何向此端点发送请求?
响应是:
{
"timestamp": "2019-09-15T05:03:17.206+0000",
"status": 403,
"error": "Forbidden",
"message": "Access Denied",
"path": "/oauth/authorize"
}
编辑:
我的简化问题是:@EnableAuthorizationServer
是否有一个端点,并且它像我想象的那样工作?您提供用户名和密码,它 return 是 access_token 和 refresh_token。
ClientId 仅供用户访问服务器。所以首先创建一个服务器,然后尝试创建客户端:
在服务器中添加此代码:
@Override
public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
clients
.inMemory()
.withClient("ClientId")
.secret("secret")
.authorizedGrantTypes("authorization_code")
.scopes("user_info")
.autoApprove(true);
}
客户端:在 spring 属性 中正确添加您的客户端 ID,您保存在服务器中
答案是肯定的终点是POST/oauth/token 带参数:
username -> YOUR_USERNAME
password -> YOUR_PASSWORD
grant_type -> password
clientId 和密码必须在授权中发送 header。