我正在搜索在java上实现的工作oauth2提供程序服务器,leeloo和spring security是我发现的一些,但是没有工作示例.
https://github.com/SpringSource/spring-security-oauth/wiki/tutorial
https://bitbucket.org/smartproject/oauth-2.0/wiki/Home
Run Code Online (Sandbox Code Playgroud) 我尝试在 apache 反向代理后面的 PHP(PECL 包)中使用 OAuth 提供程序
客户使用
POST https://api.com/resource/oauth/request-token
Run Code Online (Sandbox Code Playgroud)
但我的 oauth 提供者收到
POST http://api.com/mywebservice/resource/oauth/request-token
Run Code Online (Sandbox Code Playgroud)
无法验证签名,因此请求失败
你对解决这个问题有什么想法吗?
我正在用oauth2_provider我的rest_framework。我正在尝试为我的api编写测试用例。我已经获得了访问令牌。但是我无法在使用access token中验证用户使用的APIClient
curl命令APIClient。
curl -H "Authorization: Bearer <your_access_token>" http://localhost:8000/api/v1/users/current/
Run Code Online (Sandbox Code Playgroud)
我试过了
client.get('/api/v1/users/current/', headers={'Authorization': 'Bearer {}'.format(self.access_token)})
Run Code Online (Sandbox Code Playgroud)
和
client.credentials(HTTP_AUTHORIZATION='Token ' + self.access_token)
Run Code Online (Sandbox Code Playgroud)
这是片段的一部分
from rest_framework.test import APIClient
from rest_framework.test import APITestCase
....
class APITest(APITestCase):
def setUp(self):
...
self.client = APIClient()
...
response = self.client.post('/api/v1/oauth2/token/', post_data)
self.access_token = response.json()['access_token']
def test_get_current_user(self):
client.get('/api/v1/users/current/', headers={'Authorization': 'Bearer {}'.format(self.access_token)})
Run Code Online (Sandbox Code Playgroud)
我正在回应
<HttpResponseForbidden status_code=403, "text/html; charset=utf-8">
Run Code Online (Sandbox Code Playgroud) django django-testing oauth-provider django-unittest django-rest-framework
我有一个带有我希望保护的API的rails 2.3.5应用程序.
没有用户 - 它是应用程序样式webservice的应用程序(更像是亚马逊服务而不是facebook),所以我想使用两条腿OAuth方法实现它.
我一直在尝试使用oauth-plugin服务器实现作为开始:
http://github.com/pelle/oauth-plugin
...但它建立了期待三条腿(网络重定向流)oauth.
在我深入研究对其进行更改以支持两条腿之前,我想看看是否有更简单的方法,或者是否有人有更好的方法让rails应用程序实现成为一个两条腿的OAuth提供程序.
我正在服务器端编写OAuth协议的提供程序部分,我正在努力解决我需要缓存的OAuth使用者发送的多少nonce.
根据twitter的文档,
Twitter只允许你的应用程序使用一次nonce.防止重播请求.
问题:我的实现只是将收到的每个nonce添加到memcached中.但这会占用大量的内存空间.理想情况下,我应该在多长时间内缓存多少个nonce?
我正在编写一个也是OAuth提供商的API.有没有推荐的方法来编写你的rspec测试?
启用oauth以保护所有端点后,如何编写将通过身份验证步骤的rspec测试?
OAuth允许用户将访问其一个站点上的私有资源的权限授予另一个站点.但究竟是怎么发生的呢.如果我想在我的网站中提供OAuth功能(作为服务提供商和消费者),我该如何去做.我正在使用基于Fedora 13的服务器.是否可以配置Round Cube/Squirrel Mail来提供这些服务.就像现在所有用户都在服务器中拥有邮件帐户一样,我希望邮件中的凭据用于提供OAuth服务.
OAuth 2.0规范定义了资源所有者密码凭据授予类型,该类型允许资源所有者密码凭证(即用户名和密码)直接用作授权授权以获取访问令牌.
我想允许用户在客户端上"通过Facebook登录",而不是直接提供凭据.然后,客户端可以将用户的Facebook访问令牌交换为授权服务器的访问令牌.这个方案是否适合OAuth2的框架?
我正在使用Grails构建REST API.我希望使用OAuth2.0 client_credentials flow(grant_type)来保护它.我的用例如下:
外部代理会发送请求
http://server-url/oauth/token?client_id=clientId&client_secret=clientSecret&grant_type=client_credentials
Run Code Online (Sandbox Code Playgroud)
并获得access_token.然后,我的URL(受保护的资源)应该可以访问类似的东西
http://server-url/resource?access_token={access-token obtained before}
Run Code Online (Sandbox Code Playgroud)
我正在寻找能够轻松快速地在Grails上执行此操作的内容.什么是最好的方式/工具/插件用于此?Scribe库是一个选项,如果有任何针对我的特定用例的教程,它会很棒.
PS:我已经尝试过弹簧安全和相关插件,没有欢乐.任何替代方案都会很好.
我想为我的Spring 3.1和RESTEasy项目实现OAuth 2.0 .该项目是基于JSON的REST服务.我使用Spring Security 3.1和spring-security-oauth2版本1.0.0.RC2(应该是最新版本).到目前为止,我有弹簧安全设置默认设置.我还有OAuth 2.0的基本(默认)配置.
我之前使用过REST服务,它完美无缺.Spring安全性似乎也运行得很好.如果我打开到我的REST服务的链接,我将被重定向到登录页面.登录后,我可以进行REST调用,以获得预期的结果.
当我打开het url localhost:8080/tools-service/oauth/token或者localhost:8080/tools-service/oauth/error为了测试OAuth时,我收到错误500.当我访问时会显示以下错误/oauth/token.错误/oauth/error是类似的.
HTTP Status 500 - No adapter for handler [public org.springframework.http.ResponseEntity org.springframework.security.oauth2.provider.endpoint.TokenEndpoint.getAccessToken(java.security.Principal,java.lang.String,java.util.Map)]: Does your handler implement a supported interface like Controller?
如果我是正确的,这意味着TokenEndpoint.getAccessToken函数中有错误?由于该类是Spring框架的一部分(我查找了代码,看起来很好),我不认为问题实际上与这些类有关.这让我一无所知.
现在我想知道为什么会发生这种情况以及如何解决这个问题.我考虑过,我可能不允许在浏览器中访问这些URL.但是,如果我尝试使用Sparklr2(Spring OAuth 2.0示例应用程序),我会得到一条XML消息(对于/ oauth2/token)和一个错误页面(对于/ oauth2/error),这是预期的.
任何帮助或提示将不胜感激.
web.xml中与安全性相关的代码段:
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)
我的应用程序上下文加载了我创建的以下security-config.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:sec="http://www.springframework.org/schema/security"
xmlns:oauth="http://www.springframework.org/schema/security/oauth2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.1.xsd
http://www.springframework.org/schema/security/oauth2
http://www.springframework.org/schema/security/spring-security-oauth2.xsd">
<sec:http auto-config="true">
<sec:intercept-url pattern="/**" access="ROLE_USER" …Run Code Online (Sandbox Code Playgroud) 我注意到在asp.net 4.5模板中,谷歌以外的所有授权样本都是秘密通过并且clientid.我如何传递我的谷歌秘密和clientid?Brock在这里有一个很好的讨论我正在关注:
模板附带的示例代码如下所示.
internal static class AuthConfig
{
public static void RegisterOpenAuth()
{
// See http://go.microsoft.com/fwlink/?LinkId=252803 for details on setting up this ASP.NET
// application to support logging in via external services.
//OpenAuth.AuthenticationClients.AddTwitter(
// consumerKey: "your Twitter consumer key",
// consumerSecret: "your Twitter consumer secret");
//OpenAuth.AuthenticationClients.AddFacebook(
// appId: "your Facebook app id",
// appSecret: "your Facebook app secret");
//OpenAuth.AuthenticationClients.AddMicrosoft(
// clientId: "your Microsoft account client id",
// clientSecret: "your Microsoft account client secret");
// OpenAuth.AuthenticationClients.AddGoogle();
}
}
Run Code Online (Sandbox Code Playgroud) 我想了解"OAuth提供商"这个术语通常意味着什么.在OAuth规范中似乎没有提到它.
如果我们将OAuth提供程序视为应用程序的一个组件,它会执行哪些功能(例如授权,API方法的实现等)?它与其他应用程序有何关系?
language-agnostic architecture oauth oauth-provider oauth-2.0
oauth-provider ×12
oauth ×6
oauth-2.0 ×6
architecture ×1
asp.net ×1
asp.net-mvc ×1
django ×1
fedora ×1
grails ×1
java ×1
php ×1
resteasy ×1
rspec ×1
ruby ×1
twitter ×1
two-legged ×1