问题标签 [oauth-provider]

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 投票
2 回答
18855 浏览

security - 是否可以使用 OAuth 2.0 保护 WebSocket API?

我正在实施一个 OAuth 提供程序来保护不同的基于 Web 的 API。最让我头疼的是通过 OAuth 保护 WebSockets。

它可以在浏览器中设置的客户端中完全安全地完成吗?

与带有服务器的 Web 应用程序相比,如果它位于浏览器中,有哪些风险?

我想使用 2-legged OAuth 来限制与 websocket 的连接,因此只有注册的客户端才能获取到 API 的 WebSocket 连接而不会被拒绝。由于 WebSocket 连接始终(!)在客户端(来自浏览器)上建立,是否可以保护 accessToken 不被盗和滥用?
此时,唯一从 Web 应用程序客户端应用程序设置基于浏览器的客户端的是 URL。

如果基于浏览器的应用程序不安全,我可以忍受,但我想确保至少基于 Web 的应用程序具有访问 websocket 的安全方式。

但那时我问自己是否需要 accessToken,因为我可以只使用 origin-URI 作为唯一的安全机制。

0 投票
1 回答
1773 浏览

language-agnostic - 在 OAuth2.0 中使用 Facebook 访问令牌作为资源所有者凭据

OAuth 2.0 规范定义了Resource Owner Password Credentials Grant Type,它允许将资源所有者密码凭据(即用户名和密码)直接用作授权授予来获取访问令牌。

我想允许用户在客户端上“通过 Facebook 登录”,而不是直接提供凭据。然后,客户端可以将用户的 Facebook 访问令牌交换为授权服务器的访问令牌。这个方案是否适合 OAuth2 的框架?

0 投票
1 回答
1099 浏览

c# - 我可以配置 DotNetOpenAuth 请求令牌过期吗?

在我们的 API 中,我们实现了 DotNetOpenAuth (v3.4.7)。我们经常收到异常“服务提供者无法识别消息中的令牌”,以及此堆栈跟踪:

就在最近,我发现当人们花费太长时间授权他们的请求令牌时会引发此异常。所以授权过程的第1步和第2步之间的时间太长了。

这个时间可以在 web.config 中或以编程方式配置吗?

注意:我试过messaging lifetime="00:30:00"了,但这似乎并没有影响我的目标。

0 投票
2 回答
4678 浏览

oauth - 使用 OAuth 授权访问我自己的 REST API

我对 OAuth 和 API 安全性很陌生。

我正在构建一个将由我自己的移动应用程序访问的 REST API。

我想通过 OAuth 授权和身份验证向其他开发人员公开 API,我将使用我自己的 OAuth 提供程序。

我自己的移动应用程序的身份验证策略是什么?毕竟,我不需要用户授权我的应用程序。我可以在默认情况下对自己的移动应用程序进行预授权的同时使用 OAuth 进行身份验证吗?

我可以使用 OAuth 对我的移动应用程序的用户进行身份验证,还是需要 OpenID 之类的东西?

0 投票
1 回答
142 浏览

web-services - 是否有一种安全的方法来实现我的客户将嵌入的客户端代码片段

我公司为其他网站提供服务。我希望能够给他们一个简单的代码片段以嵌入他们的网站(如小部件),它将向我正在实施的服务发送查询,接收响应并在页面中呈现结果。我想尽量减少他们的努力,只给他们尽可能小的片段。这也是为什么我想把它全部保留在客户端。

问题是我想确保调用实际上是由我的客户发出的,而不是由从网站复制代码的任何其他人发出的。我查看了 Web 客户端 oauth2 流程,但似乎无法对客户端进行身份验证。它确实说有一种方法可以通过将回调 URL 与客户端向我的服务注册的 URL 进行比较来验证客户端。

我的问题:

  1. 有没有更好的方法?
  2. oauth2 客户端方法(包括所描述的验证客户端的方法)是否足够安全?
  3. 如果我去建议的实施,我应该注意什么?
0 投票
1 回答
192 浏览

oauth-2.0 - 在网站上实施 OAuth 支持

我想扩展我的网站以支持 OAuth,以便第三方应用程序可以代表网站用户访问数据并执行操作。我应该怎么做?

基本上我想知道如何去生成访问令牌和应该完成的数据库设置。

0 投票
3 回答
11888 浏览

php - OAuth2.0 Server stack如何使用状态来防止CSRF?对于draft2.0 v20

我正在为 OAuth2.0 v20 使用 PHP 库

在草案 20 中,提到了使用状态来防止 CSRF

到目前为止,我自己的实现这个 PHP 库的 Web 应用程序允许以下内容:

  1. 3 使用授权码请求的有脚身份验证
  2. 2 使用 Resource Owner Credentials Grant 的有脚身份验证
  3. 刷新访问令牌的请求

我是否需要对上述所有 3 种情况都使用状态?

如果是这样,什么是“状态”的好例子?

什么是好的“状态”?

有理想的长度吗?有最小长度吗?有最大长度吗?

有什么理想的妆容吗?字母数字包括大写?

0 投票
2 回答
330 浏览

php - OAuth2 和草稿

我将在我的网站上实现一个 OAuth Provider,但我有点困惑:

客户端和服务器版本有很多草稿。我必须使用相同的版本吗?在许多实现中,甚至没有编写草稿版本!真的很重要吗?有什么建议吗?

我发现的实现:

使用 Zend(我真正需要的)

0 投票
3 回答
4777 浏览

grails - Grails:使用 OAuth2.0 保护 REST API

我正在使用 Grails 构建一个 REST API。我希望使用 OAuth2.0 client_credentials flow(grant_type) 对其进行保护。我的用例如下:

外部代理将向类似的东西发送请求

并获得一个access_token。然后,我的 URL(受保护的资源)应该可以通过类似的方式访问

我正在寻找可以在 Grails 上轻松快速地执行此操作的方法。为此使用的最佳方式/工具/插件是什么?Scribe 库是一个选项,如果我的特定用例有任何教程,那就太好了。

PS:我已经尝试过 spring-security 和相关插件,那里没有乐趣。任何替代方案都会很好。

0 投票
0 回答
899 浏览

java - 使用 Signpost for OAuth 进行身份验证时未检索请求令牌

例外 :

知道为什么会发生此错误吗?