问题标签 [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 投票
1 回答
123 浏览

meteor - 如何在 Meteor 中手动登录用户

是否可以手动登录用户?我的用户没有密码,只有 oauth2 安全令牌。当与外部服务匹配时,我希望他们登录。我该怎么做?

0 投票
2 回答
8676 浏览

node.js - Google OAuth2 API 刷新令牌

我正在使用google-auth-library-nodejs库集成到多个 GMail 帐户中,以获取电子邮件列表。

我的流程很简单:

1)尝试授权客户端,使用此功能:

2) 该方法将检查文件中是否存在令牌。如果未找到该文件,则以下函数将创建该文件:

我在用https://www.googleapis.com/auth/gmail.readonly用作范围。

这是创建的文件的示例:

处理后,这是返回的 auth 对象的示例:

如果我删除该文件,并通过手动同意过程,那么身份验证工作 100%,直到令牌过期。在此之后,我收到“无效凭据”消息。

我的假设是,一旦令牌过期,刷新令牌将用于自动重新创建访问令牌。我错过了什么吗?

0 投票
0 回答
118 浏览

javascript - 选中“允许来自我访问的网站”选项时,JavaScript 中的 Google SignIn 如何与 Safari 中的子域一起使用?

我正在尝试在我目前正在开发的网络应用程序上使用它的 JavaScript API 来实现 Google 登录。

场景非常简单:

当用户导航到 时example.com,会出现一个SignIn with Google按钮,用于onClick验证用户身份;除其他外,它使用以下方式初始化 Google API cookie_policy

成功登录用户后,它(从 JS)重定向到在https://account.example.com.

ChromeFirefox(例如)上,登录工作顺利 - 没有问题。

但是,在MacOS上的SafariiOS上的任何浏览器上,用户进入(几乎)无限循环:因为帐户页面上的登录检查失败,用户被重定向回登录成功的登录页面,然后循环开始再次 ...

这种行为不会发生 - 即一切正常 - 如果用户转到Safari > Preferences > Privacy并在Cookies 和网站数据选项列表中检查第 4 个选项,始终允许而不是默认的允许我访问的网站

有谁知道如何解决这个问题?

提前致谢,

奥格

0 投票
0 回答
1782 浏览

java - Spring OAuth 2.0 - 单元测试 OAuth 2.0 客户端配置 (AuthorizationCodeResourceDetails)

我正在使用 spring-oauth 2.0 库创建一个 OAuth 2.0 客户端,我可以使用该客户端从正在运行的 OAuth 2.0 授权服务器获取和访问令牌。客户端配置如下:

现在,我正在尝试对这个配置进行单元测试。单元测试如下:

但是,当我运行测试时,出现异常:

有什么方法可以测试使用“authorization_code”授权类型的 OAuth 2.0 客户端?

0 投票
1 回答
113 浏览

authentication - 是否可以将“获取令牌”和“获取用户信息”步骤合二为一?

在授权代码流中,客户端通常一步获取id 令牌访问令牌,然后将访问令牌传递给 userinfo 端点以在第二步中获取实际数据。

就 OpenID Connect 而言,是否可以将这些步骤合二为一,因此从客户端到 OpenID 提供者的一次往返就足够了?

注意 访问令牌的实际内容取决于 OpenID 提供者的实现者,所以理论上我可以将数据放在那里 - 但这似乎不是一个好的做法,或者是吗?

0 投票
1 回答
496 浏览

spring - 以编程方式从 Spring OAuth 2.0 授权服务器获取授权码

我正在尝试使用简单的 CURL 命令从 Spring OAuth 2.0 授权服务器获取授权代码。

但是,我没有返回带有代码的重定向 URL,而是返回对登录 URL 的 302 重定向响应。由于我已经在 Authorization Header 中发送了用户名、密码,有没有办法跳过登录页面重定向并直接获取授权码?

0 投票
0 回答
330 浏览

asp.net - 使用 ASP.NET WebForms 处理 Google API OAuth2 重定向 URL

我正在尝试使用 OAuth2 授权 Google Contacts API。但是,他们对 .NET 的说明仅适用于 MVC(站点文档),没有适用于 ASP.NET WebForms 的解决方案。我在网上找到了看起来像的代码

但是,由于 /authorize URL 不存在,重定向后我得到一个 404 未找到。

我必须手动创建它,还是CreateAuthorizationCodeRequest应该这样做?如果这就是我CreateAuthorizationCodeRequest应该处理的,我需要在 WebForms 中做什么来处理它。

在 MVC 中,我看到他们拥有您所需要的一切,只是AppFlowMetadata一个AuthCallbackController. WebForms 是否有等价物?

0 投票
1 回答
466 浏览

go - 使用包“golang.org/x/oauth2”使用 oauth2 进行身份验证

我试图弄清楚如何使用该包golang.org/x/oauth2在支持 oauth2 的站点上进行身份验证。

我在下面编写的代码有效,我只是好奇这是否是正确的方法,使用这个特定的库来获取 *http.Client:

0 投票
0 回答
676 浏览

spring - 为什么 ClientDetailsS​​erviceConfigurer 在仅为 ROLE_USER 配置时向具有 ROLE_ADMIN 的用户发出令牌?

我正在使用带有 Oauth2 安全性的 Spring Boot 应用程序

我已将 ClientDetailsS​​erviceConfigurer 配置为使用client01客户端仅向具有ROLE_USER的用户颁发令牌,如下所示:

为什么使用这个客户端我也可以使用ROLE_ADMIN向用户发放令牌?

如果我有错误的实现,那什么是正确的?

我的目标是创建两个客户端: - 一个客户端应该只允许使用 ROLE_ADMIN 对用户进行身份验证;- 另一个客户端应该只允许使用 ROLE_USER 对用户进行身份验证;

0 投票
1 回答
628 浏览

android - 从 Android 上的 ADAL 获取登录的用户信息

我正在使用来自 https://github.com/Azure-Samples/active-directory-android的 ADAL

我的代码非常接近地模仿了示例

我传入了用户的电子邮件地址,但如果用户更改它并使用不同的电子邮件地址,onSuccess 上的 ADAL 库永远不会告诉我用户更改了它。AuthenticationResult 有一个名为 mUserInfo 的字段,该字段应包含用户的名字/姓氏电子邮件等。

但对我来说,每次成功登录 mUserInfo=null。

任何人都知道如何让 ADAL 返回一个完全填充的 mUserInfo 对象?

谢谢汤姆