Vert.x Oauth 2 授权服务器
Vert.x Oauth 2 Authorization server
谁能帮我设置 Oauth 2 授权服务器 Vert.x (3.3.0)。我找不到任何相关文档。
我发现 vertx-auth-oauth2 这个 vert.x 模块但我想如果授权服务器不同它会很有用
例如
以下代码片段来自 vert.x 文档
OAuth2Auth oauth2 = OAuth2Auth.create(vertx, OAuth2FlowType.AUTH_CODE, new OAuth2ClientOptions()
.setClientID("YOUR_CLIENT_ID")
.setClientSecret("YOUR_CLIENT_SECRET")
.setSite("https://github.com/login")
.setTokenPath("/oauth/access_token")
.setAuthorizationPath("/oauth/authorize")
);
// when there is a need to access a protected resource or call a protected method,
// call the authZ url for a challenge
String authorization_uri = oauth2.authorizeURL(new JsonObject()
.put("redirect_uri", "http://localhost:8080/callback")
.put("scope", "notifications")
.put("state", "3(#0/!~"));
// when working with web application use the above string as a redirect url
// in this case GitHub will call you back in the callback uri one should now complete the handshake as:
String code = "xxxxxxxxxxxxxxxxxxxxxxxx"; // the code is provided as a url parameter by github callback call
oauth2.getToken(new JsonObject().put("code", code).put("redirect_uri", "http://localhost:8080/callback"), res -> {
if (res.failed()) {
// error, the code provided is not valid
} else {
// save the token and continue...
}
});
它使用 Github 作为授权 server.I 很想知道如何在 vert.x 中实现授权服务器,我知道 spring 安全提供了这个功能,即 Oauth2Server 和OAuth2Client.
Vert.x OAuth2 只是一个 OAuth2Client,没有服务器实现,因此您无法从 Vert.x 项目本身获取它。
Vert.x OAuth2 支持以下流程:
- 授权代码流(适用于具有可存储持久信息的服务器的应用程序)。
- 密码凭据流程(当无法使用以前的流程或在开发期间)。
- 客户端凭据流(客户端可以仅使用其客户端凭据请求访问令牌)
谁能帮我设置 Oauth 2 授权服务器 Vert.x (3.3.0)。我找不到任何相关文档。 我发现 vertx-auth-oauth2 这个 vert.x 模块但我想如果授权服务器不同它会很有用 例如
以下代码片段来自 vert.x 文档
OAuth2Auth oauth2 = OAuth2Auth.create(vertx, OAuth2FlowType.AUTH_CODE, new OAuth2ClientOptions()
.setClientID("YOUR_CLIENT_ID")
.setClientSecret("YOUR_CLIENT_SECRET")
.setSite("https://github.com/login")
.setTokenPath("/oauth/access_token")
.setAuthorizationPath("/oauth/authorize")
);
// when there is a need to access a protected resource or call a protected method,
// call the authZ url for a challenge
String authorization_uri = oauth2.authorizeURL(new JsonObject()
.put("redirect_uri", "http://localhost:8080/callback")
.put("scope", "notifications")
.put("state", "3(#0/!~"));
// when working with web application use the above string as a redirect url
// in this case GitHub will call you back in the callback uri one should now complete the handshake as:
String code = "xxxxxxxxxxxxxxxxxxxxxxxx"; // the code is provided as a url parameter by github callback call
oauth2.getToken(new JsonObject().put("code", code).put("redirect_uri", "http://localhost:8080/callback"), res -> {
if (res.failed()) {
// error, the code provided is not valid
} else {
// save the token and continue...
}
});
它使用 Github 作为授权 server.I 很想知道如何在 vert.x 中实现授权服务器,我知道 spring 安全提供了这个功能,即 Oauth2Server 和OAuth2Client.
Vert.x OAuth2 只是一个 OAuth2Client,没有服务器实现,因此您无法从 Vert.x 项目本身获取它。
Vert.x OAuth2 支持以下流程:
- 授权代码流(适用于具有可存储持久信息的服务器的应用程序)。
- 密码凭据流程(当无法使用以前的流程或在开发期间)。
- 客户端凭据流(客户端可以仅使用其客户端凭据请求访问令牌)