【发布时间】:2020-09-08 07:07:46
【问题描述】:
我正在使用 Framework NOT Core 构建一个 Web API 应用程序。我有一个用户授权,它是 Login/Logout/Register User Password Grant_Type,使用 Owin 和 OAuth2 Password Grant_Type .
要访问 NopCommerce 受保护的资源,我必须使用 OAuth2 授权我的应用程序,授权 Grant_Type 获取令牌。 [在此处输入链接描述][1]
问题是当我使用 Authorization Grant 调用 /Token 端点时。在 NopCommerce API 将用户重定向到回调 url 的那一刻,我看到 "Error:" "Unsopported_grant_type" 消息。
Startup.Auth.cs
// Configure the application for OAuth based flow
PublicClientId = "self";
OAuthOptions = new OAuthAuthorizationServerOptions
{
TokenEndpointPath = new PathString("/Token"),
Provider = new ApplicationOAuthProvider(PublicClientId),
AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),
ApplicationCanDisplayErrors = true,
// In production mode set AllowInsecureHttp = false
AllowInsecureHttp = true
};
还有Owin自带的标准ApplicationOauthProvider.cs。
如何通过 OAuth2 Authorization Grant_Type 使用上述 /Token 端点?
【问题讨论】:
-
您是否在身份验证服务中添加了授权类型?
-
不,正如您在上面的代码中看到的那样,我没有。 Wich 负责授权。但是我在哪里添加 garant 类型?在 GetAuthorizationUrl 方法中?
-
您正在使用资源所有者密码流程,请阅读此处的文档docs.identityserver.io/en/aspnetcore1/quickstarts/…
-
我现在已经用正确的问题描述和一个坚定的问题编辑了我的问题。
标签: c# asp.net-web-api oauth-2.0 authorization owin