Tag: oauth

getRequestProperty(“Authorization”)始终返回null

我正在尝试读取HTTP请求的授权标头(因为我需要向其添加内容),但我总是为标头值获取null。 其他标题工作正常。 public void testAuth() throws MalformedURLException, IOException{ URLConnection request = new URL(“http://google.com”).openConnection(); request.setRequestProperty(“Authorization”, “MyHeader”); request.setRequestProperty(“Stackoverflow”, “anotherHeader”); // works fine assertEquals(“anotherHeader”, request.getRequestProperty(“Stackoverflow”)); // Auth header returns null assertEquals(“MyHeader”, request.getRequestProperty(“Authorization”)); } 难道我做错了什么? 这是一个“安全”function吗? 有没有办法使这个工作与URLConnection,或者我是否需要使用另一个HTTP客户端库?

如何保护用户反编译项目的OAuth密钥?

我正在编写第一个使用OAuth的应用程序。 这适用于桌面应用程序,而不是访问二进制文件的网站或移动设备,因此我担心如何保护我的应用程序密钥和密钥。 我觉得查看编译文件并找到存储密钥的字符串是微不足道的。 我是否过度反应或这是桌面应用程序的真正问题(使用已知解决方案)? 这个项目是用Java编写的,但我也是一个C#开发人员,所以任何.NET解决方案都会受到赞赏。 编辑:我知道没有完美的解决方案,我只是在寻找缓解解决方案。 编辑2:我知道只有解决方案是使用某种forms的混淆。 是否有任何免费的.NET和Java提供程序可以进行字符串混淆?

Spring OAuth2 – 在令牌存储中手动创建访问令牌

我有一种情况,我想自己创建一个访问令牌(所以不通过通常的过程)。 我想出了这样的事情: @Inject private DefaultTokenServices defaultTokenServices; … OAuth2Authentication auth = xxx; OAuth2AccessToken token = defaultTokenServices.createAccessToken(auth); 唯一的问题是我不知道如何创建OAuth2Authentication(在我的代码中使用xxx的部分)。 我有用户和客户信息,我知道我想授予此令牌的权限。

如何在GWT应用程序中使用OAuth?

如何在Java GWT应用程序中使用OAuth? 特别是,我希望使用此API获取Google Aps域中的用户列表: http://code.google.com/googleapps/domain/profiles/developers_guide_protocol.html 我知道这听起来像一个问题,可能以前曾多次被问过,但我找不到任何关于如何实现上述API中描述的OAuth步骤的Java代码。 如果有人可以分享一些代码,或者指向正确的文档,我会很高兴。

将OAuth 2.0和Google Spreadsheet API与Jav​​a结合使用的示例是什么?

示例代码在哪里显示如何使用Google Data Java Client Library及其对OAuth 2.0支持与Google Spreadsheet API (现在称为Google Sheets API )?

Spring OAuth2为令牌端点的每个请求生成访问令牌

是否可以使用每个请求的client_credentials或密码授予类型生成多个有效的访问令牌? 使用上述授权类型生成令牌仅在当前请求到期时提供新令牌。 我可以使用密码授予类型生成刷新令牌,然后生成多个访问令牌,但这样做会使以前的任何访问令牌无效。 我知道如何更改以允许每次请求生成访问令牌到/ oauth / token端点并确保任何以前的令牌都不会失效? 下面是我的oauth服务器的XML配置。

如何使用Java客户端访问Google服务?

我正在开发一个在Google Apps Engine(GAE)上注册的名为“searcegadget2”的Java应用程序。 我已经使用OAuthHmacSha1Signer()实现了3脚OAuth 。 我正确地获得了访问令牌并将其存储在会话中 (会话已启用 )。 接下来,我使用链接onclick事件调用servlet。 此servlet用于使用accesstoken访问Spreadsheet服务。 我的代码是: GoogleOAuthParameters oauthParameters = new GoogleOAuthParameters(); oauthParameters.setOAuthConsumerKey(CONSUMER_KEY); oauthParameters.setOAuthConsumerSecret(CONSUMER_SECRET); oauthParameters.setOAuthType(OAuthParameters.OAuthType.THREE_LEGGED_OAUTH); oauthParameters.setScope(“https://spreadsheets.google.com/feeds/”); oauthParameters.setOAuthToken(request.getSession().getAttribute(“oauth_token”).toString()); oauthParameters.setOAuthVerifier(request.getSession().getAttribute(“oauth_verifier”).toString()); oauthParameters.setOAuthTokenSecret(request.getSession().getAttribute(“oauth_token_secret”).toString()); out.println(“Accessing Service”); GoogleService googleService = new GoogleService(“wise”, “searceapps-searcegadget2-1”); out.println(“Setting Parameter”); googleService.setOAuthCredentials(oauthParameters, new OAuthHmacSha1Signer()); out.println(“Setting URl”); URL feedUrl = new URL(“https://spreadsheets.google.com/feeds/spreadsheets/private/full”); out.println(“Accessing ResultFeed”); SpreadsheetFeed resultFeed = googleService.getFeed(feedUrl, SpreadsheetFeed.class); out.println(“”); out.println(“Response Data:”); out.println(“=====================================================”); out.println(“| […]

SpringBoot 1.5.x + Security + OAuth2

我有一个带有OAuth2安全性的Spring Boot REST API。 今天我将spring-boot-starter-parent从1.4.2升级到1.5.2 。 变化让我很困惑。 之前,我可以使用Postman测试我的REST API。 当我的访问令牌不正确或我没有特定资源的权限时,服务器响应如下: { “error”: “access_denied”, “error_description”: “Access is denied” } 现在它一直将我重定向到/login页面…当我登录时 – 它显示我的资源而没有任何OAuth2身份validation… 我试图禁用它,我发现了这个神奇的属性: security.oauth2.resource.filter-order = 3 该行关闭重定向到登录页面。 但是,我的问题是: 这两个版本在安全方面发生了什么? 这个“奇怪”的行是唯一有效的修复方法吗? 这个登录页面的目的是什么以及它正在使用什么身份validation(我检查了Google Chrome中的请求和响应,我看不到任何访问令牌和oauth2的东西,所以它只使用用户存储库?) 我的代码中一些更重要的部分: 的pom.xml org.springframework.boot spring-boot-starter-parent 1.5.2.RELEASE 2.1.0.RELEASE org.springframework.boot spring-boot-starter-data-jpa org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-actuator org.springframework.boot spring-boot-starter-security org.springframework.security.oauth spring-security-oauth2 ${spring-security-oauth.version} application.properties #other properties security.oauth2.resource.filter-order = 3 OAuth2.java […]

如何调用API(Oauth 1.0)?

我试图称这个API(Oauth1.0标准): https://appcenter.intuit.com/api/v1/Connection/Reconnect 我正在做的是:(它正在研究java) Base64Encoder baseEncoder = Base64Encoder.getInstance(); CloseableHttpClient httpclient = HttpClients.createDefault(); HttpGet httpGet = new HttpGet(“https://appcenter.intuit.com/api/v1/connection/reconnect”); StringBuilder headerReq = new StringBuilder(); headerReq.append(“OAuth “); headerReq.append(“oauth_token=\””).append(OAUTHTOKEN).append(“\””); headerReq.append(“, oauth_consumer_key=\””).append(CUNSUMER_KEY).append(“\””); headerReq.append(“, oauth_signature_method=\”base64\””); headerReq.append(“, oauth_signature=\””) .append(baseEncoder.encode(PropsUtil.get(OAUTH_CONSUMER_SECRET).getBytes())) .append(baseEncoder.encode(“&”.getBytes())) .append(baseEncoder.encode(symmetricEncrypter.decryptData(OAUTH_TOKEN_SECRET).getBytes())).append(“\””); headerReq.append(“, oauth_version=\”1.0\””); httpGet.addHeader(“Authorization”, headerReq.toString()); CloseableHttpResponse response = httpclient.execute(httpGet); try { System.out.println(“Responsee::”+ response.getStatusLine()); } 而且,我得到的回应是: This API requires Authorization. 22 你能否在创建Oauth1.0标准请求时向我建议我缺少什么,或者,任何人都可以提供该标准的Oauth1.0请求示例的示例代码。 非常感谢你。

在Java中实现OAuth

我尝试用Java编写实现OAuth的编程思想,但我失败了。 我不知道为什么,但我的代码不起作用。 每次运行程序时,都会抛出IOException,原因是“java.io.IOException:服务器返回HTTP响应代码:401”(401表示未授权)。 我仔细看了一下这些文档,但我真的不明白它为什么不起作用。 我想使用的OAuth提供程序是twitter,我也注册了我的应用程序。 提前致谢 菲尼亚斯 OAuth文档 Twitter API维基 类Base64Coder import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.OutputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URL; import java.net.URLEncoder; import java.net.URLConnection; import java.net.MalformedURLException; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; import java.security.NoSuchAlgorithmException; import java.security.InvalidKeyException; public class Request { public static String read(String url) { StringBuffer buffer = new StringBuffer(); try { /** […]