- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在构建我的 oauth2-protecet Web 服务和客户端。对于网络服务,我使用了 spring security 实现和 used this as example 。对于客户,我正在尝试 apache oltu 库。这是我的片段:
OAuthClientRequest request = OAuthClientRequest.tokenLocation
("http://localhost:8080/oauth/token")
.setGrantType(GrantType.CLIENT_CREDENTIALS)
.setClientId("clientapp")
.setClientSecret("123456")
.buildHeaderMessage();
OAuthAccessTokenResponse oAuthResponse = cli.accessToken(request);
System.out.println(oAuthResponse.getAccessToken());
它不起作用。虽然这
curl -X POST -vu clientapp:123456 --data "grant_type=client_credentials&client_secret=123456&client_id=clientapp" http://localhost:8080/oauth/token
工作得很好。这是 curl 请求:
POST /oauth/token HTTP/1.1
Authorization: Basic Y2xpZW50YXBwOjEyMzQ1Ng==
User-Agent: curl/7.35.0
Host: localhost:8080
Accept: */*
Content-Length: 70
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials&client_secret=123456&client_id=clientapp
如您所见,我使用了curl 的基本身份验证并且它有效(即使建议的身份验证类型是承载)。
这是 oltu 数据包:
POST /oauth/token HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer client_credentials123456clientapp
User-Agent: Java/1.8.0_51
Host: localhost:8080
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
Content-Length: 4
null
我不确定承载授权是如何工作的,但这个数据包看起来完全错误。
我还尝试使用 buildBodyMessage()
和 buildQueryMessage()
而不是 this post 中建议的 buildHeaderessage()
,但它不是也不错。
最佳答案
这条线看起来不太健康:
Authorization: Bearer client_credentials123456clientapp
我用 Oltu 创建了一个测试服务器,基本上是一个 servlet:
OAuthResponse oauthResponse = OAuthASResponse
.tokenResponse(HttpServletResponse.SC_OK)
.setAccessToken(accessToken)
.setExpiresIn(Integer.toString(expires))
.setRefreshToken(refreshToken)
.buildJSONMessage();
response.setStatus(oauthResponse.getResponseStatus());
response.setContentType("application/json");
对于我得到的客户:
OAuthClientRequest request = OAuthClientRequest
.tokenLocation("http://localhost:8083/OltuServer/token")
.setGrantType(GrantType.CLIENT_CREDENTIALS)
.setClientId("clientapp")
.setClientSecret("123456")
.buildQueryMessage();
OAuthAccessTokenResponse oAuthResponse = oAuthClient.accessToken(request);
System.out.println(oAuthResponse.getAccessToken());
与您的代码的主要区别是 buildQueryMessage()。使用 buildHeaderMessage() 我在服务器上遇到异常
OAuthProblemException {error='invalid_request', description='Missing grant_type parameter value' ... }
但是我看到 Oltu 现在是 1.0.1 版本,而我一直在 1.0.0 版本上进行测试。该版本的行为可能有所不同。
关于java - OAuth2 oltu 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33855176/
我正在构建我的 oauth2-protecet Web 服务和客户端。对于网络服务,我使用了 spring security 实现和 used this as example 。对于客户,我正在尝试
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 6 年前。 Improve
我尝试在 Apache Oltu 中使用 OAuthClientRequest 实现 OAuth 客户端。根据规范,它似乎是在消息正文中而不是在 Basic Auth header 中发送客户端凭据。
我正在开发基于 Spring Boot 的应用程序。我已经通过 Apache Oltu 实现了 OAuth 客户端,它发送自定义 OAuthClientRequest 并获取作为 OAuthAcces
我期待开发 Spring MVC + Apache Oltu + Linkedin 集成示例。在此示例中,您需要发送 Client ID 和 Client Secret 以从 Linked in Si
我需要使用 Apache oltu 代码验证由 oauth .NET 应用程序生成的 token : OAuthClientRequest oAuthRequest = OAuthClientRequ
我正在尝试使用 Google OpenID 登录用户。 当我尝试对用户进行身份验证时,尝试检索 AccessToken 时总是遇到超时。 public class TestRun { publ
OLTU 在其有限的文档中提供了一个基于生成的 UUID 提供访问 token 的示例。请参阅here under Token Endpoint 它还有一个使用 JWT(Java Web token
有没有办法使用 Apache oltu 通过 SSL 请求访问 token ?如果我不使用 https(端口 8443)而只使用 http,它会很好用... 我的代码: OAuthClient oAu
我正在使用 Apache 的 Oltu 库,并且我正在尝试使用 OAuth2 通过 Google 进行身份验证。这是相关的代码: OAuthAuthzResponse oar = OAuthAuthz
我正在尝试在我的 Android 应用程序中实现 docusign,但是当我在我的 build.graddle 中添加实现行时,gradle sync 运行正常,但是当我在设备中编译时,我总是看到相同
如标题所述,我想访问 bitbucket API来自 native Java 桌面应用程序。 Bitbucket 要求应用程序使用 OAuth2,为此我发现 Oltu应该完成这项工作。 但是,我对 O
我正在为 Oauth2 使用 Oltu。 当使用@Context HttpServletRequest 请求时,我无法检索发布数据 当我使用@FormParam 时,我能够检索发布数据。 将请求传递给
引用资料纯粹取自以下网站:- http://syntx.io/integrating-your-java-spring-mvc-webapp-with-facebook-doing-the-oauth
运行 Junit 时出现以下错误。 Architecture of app in same as https://github.com/ribot/android-boilerplate 我已经使用
我在这里扩展问题:https://stackoverflow.com/questions/46530725/java-io-ioexception-server-returned-http-respo
我是一名优秀的程序员,十分优秀!