问题标签 [pkce]

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 回答
62 浏览

pkce - 您如何使用 aws Cognito 设置 OAuth2

您能帮我了解一下您是如何通过 AWS Cognito 设置 OAuth2 PKCE 的吗?AWS 文档不知何故让我感到困惑。

问候

0 投票
1 回答
592 浏览

oauth - Oauth 授权码 PKCE:如何在 SPA 中保持上下文超出 302 重定向?

我目前正在开发一个允许“授权码授予”的 Oauth 授权服务器,我想使用 PKCE,因为我已经看到它可能在 Oauth2.1 中,而且它似乎(有点)比经典的“授权码”更安全.

我还在开发一个使用 Vue.js 作为我的 Oauth 客户端的 SPA 应用程序。

我完成了 PKCE 的第一步:在客户端生成代码验证器和代码质询,并发送包含 client_id、response_type=code、redirect_uri、code_challenge 和 code_challenge_request 的 GET /authorize 请求。

我的“GET /authorize”请求返回客户端浏览器将遵循的 302 重定向代码。在这一步,由于重定向,我失去了客户端的上下文,因此我失去了在“POST /token”请求期间流程结束时需要的 code_verifier。

所以我不明白如何在 SPA 中使用 PKCE 流,我在互联网上没有发现任何相关内容,RFC 只是说“遵循重定向”和“使用代码验证器”,我不知道该怎么做那。

我想我可以将此 code_verifier 存储在不安全的 cookie 中,但我希望有更好的解决方案。

0 投票
1 回答
170 浏览

oauth-2.0 - OAuth2.0 [PKCE] Flow failing between LinkedIn and Forgerock

Implementation- Enable OAuth2.0 flow between LinkedIn & Forgerock AM where FR AM acts as a client and LinkedIn is the OAuth provider.

Problem- We are integrating "LinkedIn Sign" into one of our apps using OAuth2.0 with Forgerock AM as a client. Right now, Forgerock, which is acting as a client, passes PKCE parameters in the authorization request endpoint to LinkedIn (code challenge & code challenge method) and we receive the authorization code along with the state parameter. But subsequent request to retrieve access token fails with PKCE error.

Key info from the logs-


LinkedIn API reference & OAuth2.0 - https://docs.microsoft.com/en-us/linkedin/shared/authentication/authorization-code-flow?context=linkedin/consumer/context

P.S. Forgerock AM when integrated with Google using OAuth2.0 [PKCE] is working absolutely fine.

Any help will be much appreciated. Thank you.

0 投票
2 回答
303 浏览

server - 原生移动应用的 OAuth 2.0 授权码授权 + PKCE

我目前正在实施一个新的 OAuth 2 服务器(计划使用Ory Hydra),这将是我们的开发人员门户网站的授权服务器,开发人员可以在其中创建他们提供的应用程序client_idclient_secret并将其用于令牌交换,也用于我们的用户填写凭据(用户名和密码)的移动应用程序。, login,logoutforgot password将存在于不同的服务器中。

问题是,有没有办法防止将同意屏幕作为授权代码授予 + PKCE 的一部分?通过移动应用程序,用户通过身份验证可以从不同的服务访问他们自己的信息,我对授权码授予的理解是,它旨在被第三方应用程序用来访问用户信息。

我知道还有其他授权类型,但根据这个这个,授权代码 + PKCE 似乎是本机移动应用程序的推荐授权

谢谢!

0 投票
2 回答
4747 浏览

javascript - 在 ReactJS 中的 Spotify API 上为 PKCE 身份验证创建代码验证器和质询

我正在尝试按照他们的 api 中的文档将 Spotify auth 添加到我的单页反应应用程序中。

到目前为止,这就是我根据在网上找到的解决方案生成代码的方式:

我使用该技术创建的一对代码示例:

  • 验证者:e8c3745e93a9c25ce5c2653ee36f5b4fa010b4f4df8dfbad7055f4d88551dd960fb5b7602cdfa61088951eac36429862946e86d20b15250a8f0159f1ad001605
  • 挑战:CxF5ZvoXa6Cz6IcX3VyRHxMPRXYbv4PADxko3dwPF-I

我创建的一对旧代码的示例:

  • 验证者:1jp6ku6-16xxjfi-1uteidc-9gjfso-1mcc0wn-tju0lh-tr2d8k-1auq4zk
  • 挑战:SRvuz5GW2HhXzHs6b3O_wzJq4sWN0W2ma96QBx_Z77s

然后我收到来自 API 的响应,说“code_verifier 不正确”。我在这里做错了什么?

0 投票
5 回答
2292 浏览

javascript - “grant_type 参数丢失”:Spotify API PKCE OAuth 流程问题

我正在开发一个使用 Spotify API 的 React 应用程序我无法弄清楚为什么在尝试使用 API 的 PKCE OAuth 流获取访问令牌时出现此错误。

我完全按照指南中的指示进行操作,并且能够很好地获得身份验证代码。这是我试图获取令牌的电话。

我尝试在发布请求的正文中传递参数并作为 url 参数传递,两者都产生相同的结果。如您所见,我显然提供了 agrant_type并且我正在使用指南所说的值。

0 投票
1 回答
274 浏览

oauth-2.0 - Xero API 获取组织列表(所有组织)

我已经在 .NET Framework (C# Winforms) 中使用 PKCE 流完成了 OAuth2.0。

现在我手里有 tokens_response。

但我想知道是否有可能获取所有组织(不仅仅是一个)?

0 投票
1 回答
271 浏览

asp.net-core-webapi - 如何从 PKCE 流程中的 Auth0 租户提供的 auth_token 获取用户信息

我刚刚从我的 Cordova Ionic5 移动应用程序中成功实现了PKCE 流,然后使用 auth_token 对我的 .NET Core 3.1 Web Api 进行授权。

问题是我无法从我的 .NET Core Web Api 访问用户信息:姓名、电子邮件等。

我真的需要知道刚刚通过身份验证的用户是谁。你能帮忙吗?

我的 PKCE 流程 代码在此处输入图像描述 Startup.cs

0 投票
3 回答
894 浏览

ios - Spotify PKCE 授权流程返回“code_verifier 不正确”

我一直在遵循Spotify API 的身份验证指南来使用 PKCE 对我的应用程序进行身份验证。

到目前为止,我正在使用一个带有预先计算的调试挑战的虚拟代码验证器。这些值是使用多个在线工具(SHA256SHA256base64urlbase64url)计算得出的,并且与我用 Swift 编写的散列/编码函数返回的值相匹配。随意使用上面的链接来验证这些。

我在步骤 2 中使用 ASWebAuthenticationSession 发出初始请求,如下所示:

handleLoginResponse中,我解析第 3 步中的响应并使用 Alamofire 为第 4 步发出网络请求:

Alamofire 创建了一个接口来从 Swift 中发出 cURL 请求,调用cURLDescription()可以让我准确地看到实际的 cURL 命令最终是什么:

这有点难以阅读,但我很确定请求是正确的。

但是,在第 4 步,我总是从服务器收到此错误消息:

在几个小时的过程中,我尝试了很多事情,但仍然无法弄清楚。任何指针将不胜感激。谢谢!

0 投票
1 回答
375 浏览

authentication - 如何使用 PKCE 进行授权和访问令牌请求

您能否指出正确的方法和参数集:

  1. 在 Postman 中使用 PKCE 向我的身份端点 (https://.../login) 发出授权请求 在附件中有发送的参数列表。作为我使用的 grant_type 值-> authorization_code 不幸的是,我收到“错误请求”,邮递员中的 Invalid_grant 在此处输入图像描述

  2. 发出访问令牌请求。在此请求中,我收到无效请求。我想我错过了参数刷新令牌,但我不知道如何获取/生成它: 在此处输入图像描述

我编写了 Azure 函数的代码来请求访问令牌,不幸的是我从令牌端点得到 {"error":"invalid_request"}。这是我的代码,你能告诉我我做错了什么吗?