繁体   English   中英

在asp.net下使用owin和LinkedIn身份验证提供程序进行WebApi身份验证

[英]WebApi authentication with owin and LinkedIn auth provider under Asp.Net

我们有一个WebApi和Owin(.Net Framework 4.6)在Asp.Net下运行。 几个本地前端客户端(iO,android等)正在使用该api。 该API当前使用带有登录令牌和cookie身份验证的Microsoft登录名。 这有效,访问令牌随重定向的请求直接返回到客户端中的webView,我们能够使用Bearer令牌和另一个身份验证cookie访问我们的API。 现在,我们的任务是在该API中使用LinkedIn身份验证提供程序实现身份验证。 为了澄清:我们需要一个OWIN实现(没有AspNet.Core)。

我们可以使用该LinkedIn身份验证提供程序从webAPI中的LinkedIn获取访问令牌。 因此,我们在User.Identity.Claims中看到了令牌。 我们也可以再次将其退还给客户。 是的,这可能不是一个好主意,但是似乎不可能直接在浏览器/ webView中获取令牌,因为response_type = code是linkedIn身份验证所必需的。 使用response_type = token可以用于Microsoft身份验证。

无论如何,尽管我们已经检索了access_token,最终Web视图仍被重定向到以下URL: http ://10.0.2.2: 8108 /signin- linkedin 错误=不受支持的响应类型

请忽略我们暂时不使用https的情况。 主机仅用于测试,但重要的部分是附加的错误。

为什么会出现此错误? 谁调用此请求,尽管我们已经有了令牌,为什么会出现该错误?

另一个信息是,我们现在在客户端中拥有的访问令牌不能用于针对webAPI的身份验证。 因此,我们取回401未经授权。

也许我应该明确提到,我们也在api中使用cookie身份验证,当我们在webView中接收cookie时,它似乎可以正常工作,并且仅在正确的用户上下文中,我们才能调用受cookie身份验证保护的方法。

任何帮助深表感谢!

使用HTTPS之后,出现了unsupported_response_type错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM