oauth-2.0 - Github 的 ServiceStack OAuth 问题
问题描述
我正在使用 dotnet core 3.1,最新版本的 ServiceStack,我正在尝试使用 Google、Microsoft 和 Github OAuth。
/auth
到目前为止,对于谷歌和微软,当我导航到:并点击“Github”按钮时,我对 Github 没有任何问题。
我被重定向到 GitHub 并显示同意页面。
Personal user data
Full access
当我单击时Authorize
,我将被重定向回我的本地主机:/login#f=AccessTokenFailed
如果我登录到我的开发人员设置,我会看到 1 个用户。
所以,我不确定这可能是 ServiceStack 中的一些工作流问题,还是我的实现中的一些问题。
根据我的实现,我有这个:
appsettings.json
"oauth.github.Scopes": "user,user:email",
"oauth.github.ClientId" :"xxx",
"oauth.github.ClientSecret": "xxx",
...
Plugins.Add(new AuthFeature(
() => new AuthUserSession(),
new IAuthProvider[] {
new JwtAuthProvider
{
HashAlgorithm = "HS256",
RequireSecureConnection = false,
AuthKeyBase64 = "xxx",
CreatePayloadFilter = (payload,session) => {},
PopulateSessionFilter = (session, token, req) => {}
},
new GoogleAuthProvider(appSettings),
new GithubAuthProvider(appSettings),
new MicrosoftGraphAuthProvider(appSettings) }
));
在初始重定向回我的应用程序后,当我再次导航到 /auth 时,我看到我没有登录,但是当我再次单击 Github 按钮时,我只是再次被重定向回来,并在 URL (AccessTokenFailed) 中显示相同的错误消息(没有同意提示或任何东西)。
知道这里可能有什么问题吗?
解决方案
此问题是由于新的GitHub OAuth 应用程序需要通过 Authorization Header 提交访问令牌,现在已从此提交解决。
现在可以从 MyGet 上提供的最新 v5.9.3+ 中获得此更改。
推荐阅读
- .net - 检索现有 Azure 表项时 TableResult 挂起
- realex-payments-api - 将信息传递给 Global Payments HPP
- python - 在同一张量纤维中不止一个为真
- windows - Octave 中的奇怪问题:`char(97)` 未在控制台中显示结果
- swift - 在swift中使用present时如何阻止ViewController闪烁
- django - 为什么我无法通过 gitlab CI 更新我的 heroku 应用程序
- oracle - 验证时隐藏的堆叠画布
- python - 有没有办法在 Python 3 中将卸载程序写入程序并自行删除?
- python - Pandas - 将 groupBy 的平均值添加到未分组的列
- powershell - 如何通过 PowerShell 获取 Microsoft Teams 使用报告