问题标签 [oauth2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
310 浏览

.net - 在移动设备上使用 Owin 身份验证中间件

我目前有 SPA (angularjs) + .NET API 作为后端。

我的后端应该作为多个“前端”应用程序的服务——SPA、本机 iOS 和 Android 应用程序等。

对于身份验证,我使用 Owin 中间件(OAuth2 不记名令牌)和资源所有者密码流,并且还将集成社交网络登录 - Facebook、Google、LinkedIn 等。

是否可以在没有 cookie 的情况下使用 Owin 中间件,同时保留将社交网络集成到移动应用程序中的能力?所有 Owin 示例都使用称为“外部 cookie”的东西,看起来只是一个 cookie,它没有存储在我的应用程序中,而是在重定向期间存储在 fb/google 上。

0 投票
1 回答
935 浏览

java - 在 Spring 上下文中覆盖默认 OAuth2RestTemplate

我正在使用 spring spring security oAuth2 客户端。还有默认的 OAuth2RestTemplate 声明,看起来像

我需要的是提供自定义错误处理,所以我试图把它放到上下文中

这里的问题是默认实现被注释为@Primary,所以我想知道如何覆盖它?

0 投票
1 回答
1466 浏览

asynchronous - spring security oauth2 使用异步请求

据我所知,对于@Async 请求,SpringSecurityFilter 链每个请求运行两次,因为它在入站请求线程上运行,被传递给在不同线程上运行的异步代码,然后当它尝试写入响应时线程 SpringSecurityFilter 链再次运行。

这导致 access_token expiry 附近出现问题,因为我使用的是 RemoteTokenServices,发生的情况是原始请求经过身份验证,服务活动大约需要一秒钟,然后再次调用 RemoteTokenServices,此时 access_token 已过期,所以请求返回 401。

这里推荐的解决方案是什么?我无法阻止 SecurityFilterChain 在响应线程上第二次运行。我做错了什么,还是这是预期的行为?我看到 SecurityContext 正确地传递给 @Async 线程,但它在响应线程中为空。

有没有办法确保 SecurityFilterChain 每个请求只运行一次?或者是接受每个请求的多个过滤器调用并以某种方式通过缓存处理它的解决方案?

我正在使用 spring-boot 1.3.3.RELEASE 和 spring-security-oauth2 2.0.9.RELEASE。

日志:

相关代码:

控制器:

异步服务:

RemoteTokenServices 实现(注意缓存被注释掉):

最后是我的安全配置:

0 投票
0 回答
786 浏览

java - DefaultAccessTokenConverter 不起作用

我正在开发 OAuth 应用程序。现在我正在使用 JWT 令牌,它工作正常。

JWT 代币实现:

但是,如果我尝试使用DefaultAccessTokenConverter而不是JwtAccessTokenConverter我的访问令牌端点总是会生成一个错误,说Access denied。为什么它不起作用。那是一个错误吗?我可以使用其他一些实现TokenConverter吗?

0 投票
1 回答
3289 浏览

curl - 如何解决 apigee 中的“接收失败:连接已重置”

这是我在 curl 实用程序命令提示符中遇到的错误。请给我一个适当的好解决方案。

谢谢你。

请找到我的错误的附件图片。

在此处输入图像描述

0 投票
1 回答
2068 浏览

oauth-2.0 - OPENAM:如何将信息添加到“用户信息”OAuth2 / OpenID Connect 端点

我将 OAuth2 与 OpenAM 13 一起使用。我需要我的客户端应用程序能够通过 OpenAM“用户信息”端点检索用户信息。但是,我需要添加/增强提供的信息以在用户配置文件中提供自定义信息。

我无法看到如何使用“用户信息”端点执行此操作。但是,使用“令牌信息”端点很容易添加信息(添加与配置文件名称匹配的范围会自动在 JSON 响应中添加信息)。我为“用户信息”端点尝试了相同的方法,但这没有用。

在另一个 POST 中,我读到“用户信息”端点信息可以通过使用“脚本”来增强。但是我找不到怎么做: OpenAM - Use OAuth2 Access Token to get User Details?

有人可以帮忙吗?我真的很感激它。

非常感谢

0 投票
1 回答
374 浏览

google-app-engine - 如何使用来自应用引擎的 oauth2 令牌授权谷歌选择器

我正在开发一个在登录时使用 OAuth2 的 App Engine Java 程序。换句话说,用户必须在使用该应用程序之前给予批准。我现在想集成 Google Picker 功能,而无需在客户端上进行身份验证(再次请求权限)。

我所做的是将令牌作为属性传递一个对象(loginInfo 是一个 json 对象)。

虽然令牌在服务器端工作得非常好,但在客户端我收到 UnAuthorized 401 错误。 编辑 我应该提到,服务器端的范围包括 Picker 上视图的所有必要权限,并且启用了我的 Picker Api 以及 Drive API。

我现在的问题是,处理这种情况的最佳方法是什么?在客户端上发布 authToken 是否安全?我怎样才能实现这种情况,以便用户不会两次批准并仍然使用 Picker?有没有比 Picker 更好的解决方案来上传到 Drive、Picassa 或其他 Google 服务?

0 投票
0 回答
657 浏览

python - Python/谷歌 OAuth2 ssl 错误

通过python google OAuth2 API工作并成功接收带有代码的 redirect_uri。我在返回的 URL 中复制“code=”之后的所有内容并将其提交给 step2.exchange(code) 命令,但 python 显示以下错误:

文件“C:\Python34\lib\ssl.py”,第 810 行,do_handshake self._sslobj.do_handshake() ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败 (_ssl.c:600)

我的问题如下:

1.) 代码的正确格式是什么?只是返回网址中“code=”之后的所有字符?

2.) 还有什么可能导致此错误?我按照其他地方的建议安装了 certifi 2015.04.28 ,但这并没有解决问题。

3.) 还有其他修复建议吗?

代码如下

使用 python 3.4.3

谢谢

0 投票
3 回答
433 浏览

java - 想让 oauth2 的 perl 代码在 Java 中工作 "curl -H 'Authorization: Bearer:https://canvas.instructure.com/api/v1";

我收到一个我未经授权的错误.. RESPONSE CODE 401
我使用的令牌在 perl..

这是我到目前为止所尝试的:

0 投票
1 回答
966 浏览

authentication - wso2 是二级用户存储认证

我在 Debian 上有一个 wso2 is 5.1.0 server runign。我有一个简单的 servlet,它使用 Oauth2 进行身份验证,并且与主商店中的用户完美配合。

我创建了一个指向 openldap 服务器的辅助存储。我有一些用户和组,从 IS 可以正确看到。我看到当我尝试查看用户配置文件时,我收到以下错误:

但是,当我尝试使用 ldap 服务器中的用户进行身份验证时,我收到登录失败错误。我尝试同时使用用户名、域/用户名和用户名@域,但没有一个起作用。

我开始认为这可能与 Calim 配置有关,因为不同商店中的用户具有不同的值,但我不知道如何解决它。

关于我做错了什么的任何想法?

更新:

这就是我定义二级商店的方式。

我可以看到列表中的用户,甚至可以通过 WSO2 在 LDAP 上创建一个新用户,但我看不到参数。

更新:

LDAP 中的用户结构非常简单。

在此处输入图像描述