2017-07-10 142 views
0

我有两个项目。 Project 1是基于Php的Web API,其中包含OAuth和自定义授权逻辑。其中Project 2是C#REST API,其中每个API都应该被授权。为了实现这一目的,我正在将项目1中的Api暴露给授权, 。 通过对Project 2 API的每个请求的上述流程,我必须通过点击项目1的授权API进行授权。我们是否有C#中的任何概念或使用某种缓存技术,以便我可以检查每个请求是否已验证或如果没有,那么我应该调用授权API。? 授权API的输入是“不记名令牌”,其将由客户端应用程序发送。如何在web api C#中授权访问令牌缓存?

约束条件: - 我必须维护两个不同的项目,我必须在另一个web api项目中重用我的auth提供程序API。 在此先感谢。

回答

0

你可以使用redis或任何流行的proc cache mgmt来存储你的令牌&可以被两个项目使用。

https://redis.io/clients

0

您可以使用不同的auth服务器,例如:

https://identityserver.github.io/Documentation/

如果你需要实现SSO(单点登录)功能。

或者您可以实施您自己的授权服务器,但强烈建议您使用现有的解决方案。

。看看这篇文章: http://bitoftech.net/2014/09/24/decouple-owin-authorization-server-resource-server-oauth-2-0-web-api/

+0

感谢亚历克斯! :)但我希望避免通过某些技术来授权每个请求,这些技术可以帮助我知道我的请求已经过验证。我的意思是像web api中的某种过期策略。 – user1480180