- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试使用当前推荐的 PKCE 授权代码流从 Active Directory 收集访问 token 。客户端将是一个公共(public) Angular SPA,这是选择流程的原因。
收集 openid 配置表单 AD 以及用户的授权代码效果很好。
但我无法从以下端点请求访问 token :
https://login.microsoftonline.com/{tenantId}/oauth2/token.
POST /7e8c2868-7490-4dd7-82b7-f5ec29222d30/oauth2/token HTTP/1.1
Host: login.microsoftonline.com
Accept: application/json, text/plain, */*
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache
grant_type=authorization_code
code=...
code_verifier=...
client_id=...
redirect_uri=...
{
"error": "invalid_client",
"error_description": "AADSTS7000218: The request body must contain the following parameter: 'client_assertion' or 'client_secret'.\r\nTrace ID: ed0413ad-89f1-4a2b-8d68-e23498701800\r\nCorrelation ID: deb53b0d-5398-4f72-a9a5-6c0863547b99\r\nTimestamp: 2020-03-06 09:30:36Z",
"error_codes": [
7000218
],
"timestamp": "2020-03-06 09:30:36Z",
"trace_id": "ed0413ad-89f1-4a2b-8d68-e23498701800",
"correlation_id": "deb53b0d-5398-4f72-a9a5-6c0863547b99",
"error_uri": "https://login.microsoftonline.com/error?code=7000218"
}
{
"id": "...",
"acceptMappedClaims": null,
"accessTokenAcceptedVersion": null,
"addIns": [],
"allowPublicClient": true,
"appId": "...",
"appRoles": [],
"oauth2AllowUrlPathMatching": false,
"createdDateTime": "...",
"groupMembershipClaims": null,
"identifierUris": [],
"informationalUrls": {
"termsOfService": null,
"support": null,
"privacy": null,
"marketing": null
},
"keyCredentials": [],
"knownClientApplications": [],
"logoUrl": null,
"logoutUrl": null,
"name": "...",
"oauth2AllowIdTokenImplicitFlow": false,
"oauth2AllowImplicitFlow": false,
"oauth2Permissions": [],
"oauth2RequirePostResponse": false,
"optionalClaims": null,
"orgRestrictions": [],
"parentalControlSettings": {
"countriesBlockedForMinors": [],
"legalAgeGroupRule": "Allow"
},
"passwordCredentials": [],
"preAuthorizedApplications": [],
"publisherDomain": "...",
"replyUrlsWithType": [
{
"url": "http://localhost:4200",
"type": "Web"
}
],
"requiredResourceAccess": [
{
"resourceAppId": "00000003-0000-0000-c000-000000000000",
"resourceAccess": [
{
"id": "...",
"type": "Scope"
}
]
}
],
"samlMetadataUrl": null,
"signInUrl": null,
"signInAudience": "AzureADMyOrg",
"tags": [],
"tokenEncryptionKeyId": null
}
GET /.../oauth2/authorize
response_type=code
&client_id=...
&state=...
&redirect_uri=http%3A%2F%2Flocalhost%3A4200
&scope=openid%20user_impersonation%20offline_access
&code_challenge=...
&code_challenge_method=...
&nonce=...
Host: login.microsoftonline.com
最佳答案
2021 年更新
Microsoft 终于更新了他们的门户,因此我们现在有了一个 UI,可以使用 PKCE 正确配置授权代码流。
您所要做的就是打开您注册的 AAD 应用程序的身份验证页面。在那里,您可以通过单击左侧的按钮添加新平台:
选择新的单页应用程序磁贴并输入您的重定向 url。
上一个答案( list )
我刚刚在 @azure/msal-browser 中找到了答案包裹。目前,Azure AD 似乎正在努力支持此身份验证流程。要激活它,您必须为他们最近添加的重定向 url 设置一个新类型。
要将授权代码流与 PKCE 与 Azure Active Directory 一起使用,您需要:
client_secret
或
client_assertion
了。
关于oauth-2.0 - Active Directory 是否不支持使用 PKCE 的授权代码流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60561556/
我是 OAuth 世界的新手,我想了解使用 PKCE 相对于传统授权代码授予的好处。 (我的许多假设可能是错误的,所以我会感谢你的更正。) 我是一名移动应用程序开发人员,根据 OAuth 文档,客户端
我知道 OAuth 2.0 Authorization Code with PKCE Flow 是 OAuth 的最佳实践。我们计划将它用于我们的 WEB 应用程序。但我不明白如何在不使用浏览器进行身
我很高兴听到我现在可以使用 Spotify Web API,而无需通过 PKCE 使用后端应用程序。不幸的是,我似乎有某种误解,无法让它发挥作用。 在此过程中,我可能会犯一些小错误,但我做了一次但无济
我有一个客户端应用程序,我想使用 Auth0 进行授权,我正在使用此处描述的工作流程: https://auth0.com/docs/api-auth/tutorials/authorization-
我正在编写将与某些 Oauth2 提供程序集成的客户端应用程序。我将使用 native android 应用程序作为前端,将 spring-boot 作为后端。我想在 PKCE 中使用 authori
我正在考虑将我的 Angular 应用程序中的身份验证流程从隐式流程升级为使用 pkce 的授权代码流程。我使用 Azure AD 作为身份验证提供程序。 我在 Microsoft 文档中没有找到与
在 Angular6+ 应用程序中实现 MSAL 库以与 AZURE AD 集成时,我需要一些输入。 当我阅读微软文档时,我遇到了两个流程“隐式授权流程”和“身份验证代码流程”。微软团队自己建议,与“
我希望扩展我们的 ID 服务器实例以支持移动应用程序,并希望将授权代码流与 PKCE 一起使用。由于这是一个公共(public)客户端,我不希望将 secret 存储在应用程序上,但似乎 ID3 需要
我尝试使用 pkce 和授权代码流从 keycloak 获取 token ,但没有成功。 请求参数(来自 postman ): curl -X POST \ http://keycloak-ar.
我们有用 .NET CORE 编写的 REST Web API,用于 REACT SPA,我们将 OKTA 与 PKCE 结合使用。 对于我们的 API,我们有使用 postman/newman 编写
我开始使用 IdentityServer4,并通过资源所有者流程完成了它,但由于不再推荐 PKCE,我决定更改它。我收到以下错误消息,这很明显,因为我不再使用 GrantTypes.ResourceO
我有一个现有的 Angular 应用程序,它使用 angular-oauth2-oidc 连接到本地托管的身份服务器。我已经剥离了 angular-oauth2-oidc 组件并实现了与 AWS Co
我被要求将一个新的 Web 应用程序与我们的 B2C 实现集成,并且要求是通过 PKCE 支持 Grant Flow。 B2C/IEF 支持吗?有关所需步骤的任何指示? 我充满希望,因为我找到了 th
我正在尝试使用 PKCE 将 Discord OAuth 添加到移动应用程序。我能够成功使用 DiscordAPI 进行身份验证,并且收到从服务器返回的代码。 但是,当我尝试调用 https://di
是否可以在当前版本的 Spring Security 中为 PKCE 身份验证创建授权服务器? 我做了研究,发现了这个授权服务器项目 https://github.com/spring-project
我正在尝试使用 PKCE 将 Discord OAuth 添加到移动应用程序。我能够成功使用 DiscordAPI 进行身份验证,并且收到从服务器返回的代码。 但是,当我尝试调用 https://di
是否可以在当前版本的 Spring Security 中为 PKCE 身份验证创建授权服务器? 我做了研究,发现了这个授权服务器项目 https://github.com/spring-project
默认情况下,AppAuth发送 S256 PKCE身份验证请求的代码挑战。如果我需要与仅支持 plain 代码挑战方法的服务器进行互操作,我该如何配置我的授权请求? 最佳答案 iOS:您可以使用 OI
我正在构建 2 个应用程序;一个前端,一个后端。 后端将使用 Rails API + Doorkeeper Gem(oauth2 提供程序)构建,而前端将使用 React Native 构建。 目前,
将授权代码流与 Spotify-API 的 PKCE 一起使用,我收到错误,我的 code_verifier 不正确,据我目前所知,这必须是编码问题。{"error":"invalid_grant",
我是一名优秀的程序员,十分优秀!