asp.net-web-api – 如何设置katana-project以允许json格式的令
发布时间:2020-12-16 00:19:42 所属栏目:asp.Net 来源:网络整理
导读:当我在asp.net webapi 2中设置OAuth授权服务器时,如何设置令牌端点以接受json而不是表单编码的帖子? 使用样本http://www.asp.net/web-api/overview/security/individual-accounts-in-web-api 我试着发送application / json 同 {"grant_type":"password","u
当我在asp.net webapi 2中设置OAuth授权服务器时,如何设置令牌端点以接受json而不是表单编码的帖子?
使用样本http://www.asp.net/web-api/overview/security/individual-accounts-in-web-api 我试着发送application / json { "grant_type":"password","username":"Alice","password":"password123" } 我收到了回复 { "error" : "unsupported_grant_type" } 其中作为application / x-www-form-urlencoded的内容类型 200好的 { "access_token" : "08cQ33ZG728AqBcj1PBsRSs4iBPc02lLCZfpaRRWLx2mH_wpQzMwGDKS7r7VgJiKUjUFaq6Xv0uguINoiB_evVbVOtvyWaqAYvc0HRjlgrbj12uQqFbUB7bgH-jiyfhumkwuTSTVHfKUhBjCuD_pbyxEbu2K5WSJpUVge_SGxnb-htm4ZNf1qKDmpEnP9IpZVeJa-KnV0m0gEmP04slMW_JrO390LzCNvXZwVk1yMNuvDakk8tWX7Y6WkFoh7vtW6xfhw3QMbmnvS6px70yMWcTksRNG2bdmi4SenhuRTJx8IsCMnz-4Co7KiCNJGF7KLeU4WzE-LSqXv3mQ30CIQ7faXoMn53p83wZ1NoXYyhsNrQD4POUns_Isb_Pax5gvpZEdyo8zr1r7wb0dS7UXvJb0PWzLHc57Pg3u0kmcizQ","token_type" : "bearer","expires_in" : 1209599,"userName" : "Alice",".issued" : "Wed,30 Oct 2013 15:16:33 GMT",".expires" : "Wed,13 Nov 2013 15:16:33 GMT" } 解决方法
基于OAuthAuthorizationServerHandler的当前实现,你不能。
private async Task InvokeTokenEndpointAsync() { DateTimeOffset currentUtc = Options.SystemClock.UtcNow; // remove milliseconds in case they don't round-trip currentUtc = currentUtc.Subtract(TimeSpan.FromMilliseconds(currentUtc.Millisecond)); IFormCollection form = await Request.ReadFormAsync(); var clientContext = new OAuthValidateClientAuthenticationContext( Context,Options,form); await Options.Provider.ValidateClientAuthentication(clientContext); if (!clientContext.IsValidated) { _logger.WriteError("clientID is not valid."); if (!clientContext.HasError) { clientContext.SetError(Constants.Errors.InvalidClient); } await SendErrorAsJsonAsync(clientContext); return; } var tokenEndpointRequest = new TokenEndpointRequest(form); } 因此,为了尝试这一点,您需要提供自己的OAuthAuthorizationServerMiddleware实现,它会重载CreateHandler,以便您可以提供自己的AuthenticationHandler实现< OAuthAuthorizationServerOptions> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 当我按浏览器BACK按钮会发生什么?
- asp.net – 从EF 6 Code First迁移和多个配置生成完整的SQL
- asp.net-mvc – Razor方法Chaining / Fluent不适用于换行符
- asp.net – 使用内部HTML与ASP:按钮?
- asp.net-mvc – TinyMCE应该如何在ASP.NET MVC页面上工作?
- asp.net-mvc – 在ASP.NET MVC中的JSON属性中返回呈现的HTM
- asp.net-mvc – ASP.NET MVC用户友好401错误
- asp.net-mvc – 为什么MVC提供的Default AccountController
- asp.net – 为什么在调试我的Web应用程序时得到“服务器提交
- 如何在Xamarin和Asp.net核心之间共享类库?
推荐文章
站长推荐
- ASP.net会员 – 添加角色
- asp.net – IIS7.5中的无扩展URL
- asp.net – ‘没有重载的方法’ToString’采取’
- asp.net-mvc-2 – Asp.Net MVC DropDownList数据
- asp.net – 我可以通过编程方式加载’Roles’属性
- asp.net-web-api – 如何在IdentityServer4中在运
- asp.net-mvc – AntiXss保护Html模型属性
- asp-classic – 如何在经典的asp中读取文本文件
- [你必须知道的.NET] 第三回:历史纠葛:特性和属
- asp.net-mvc – 我可以在asp.net mvc中拥有多个s
热点阅读