微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

需要使用 OWIN oAuth2 为 C# ASP.NET Web API 实现自定义授权服务器隐式授权流

如何解决需要使用 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 邮递员调用

1

但是问题从 AuthorizeEndpointPath 开始,我必须使用 AuthorizeEndpointPath 进行调用,但我使用邮递员尝试了它,但我收到了“Invalid_request”。

Postman API 调用中的 AuthorizeEndPointPath 错误

2

现在我的要求是我需要什么作为预期的结果。 应该是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 举报,一经查实,本站将立刻删除。