如何解决需要使用 OWIN oAuth2 为 C# ASP.NET Web API 实现自定义授权服务器隐式授权流
我有一个客户端(移动应用程序)想要使用我们的资源,所以我必须创建我们自己的授权服务器,我已经使用 OWIN 完成了它,但正如我在标题中强调的那样,我必须实现“隐式授权流程”。 这是编码部分。
PublicclientId = "megaapp";
OAuthOptions = new OAuthAuthorizationServerOptions
{
TokenEndpointPath = new PathString("/oauth/token"),Provider = new AppOAuthProvider(PublicclientId),AuthorizeEndpointPath = new PathString("/oauth/authorize"),AccesstokenExpireTimeSpan = TimeSpan.FromMinutes(4),AllowInsecureHttp = true //Don't do this in production ONLY FOR DEVELOPING: ALLOW INSECURE HTTP!
//,AccesstokenFormat = new CustomJwtFormat(""),AuthorizationCodeProvider = new AuthenticationTokenProvider
{
//OnCreate = CreateAuthenticationCode,//OnReceive = ReceiveAuthenticationCode,}
};
因此,如果我要使用以下 API 链接通过 Post 进行调用,以便我能够获取访问令牌
oAuth2 TokenEndPointPath 邮递员调用:
但是问题从 AuthorizeEndpointPath 开始,我必须使用 AuthorizeEndpointPath 进行调用,但我使用邮递员尝试了它,但我收到了“Invalid_request”。
Postman API 调用中的 AuthorizeEndPointPath 错误:
现在我的要求是我需要什么作为预期的结果。 应该是Get Call from Mobile App,我们必须在其中传递以下参数。
查询参数
client_id: (string,required) - 客户端 ID
redirect_uri: (string,required) - 重定向 URL
state: (string,required) - 抗 CSRF 攻击
country: (string,required) - 国家信息
language: (string,required) - 语言信息
这应该是上面API的响应
Location: <redierct_uri>
参数
以下响应参数将添加到 <redirect_uri>
作为 Location 标头中的查询参数
token: (string) - 令牌字符串
token_type (string) - 令牌类型(Bearer)
expires_in (number) - 令牌有效期限(秒)
state (string) - 抗 CSRF 攻击
我是 OAuth 和自定义授权服务器的新手,所以请告诉我,如果我做错了什么,请指导我并让我知道我可以在哪里存储 ClientiD 和 clientsecret。
提前致谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。