如何从angular2客户端调用的另一个webapi调用安全的webapi

时间:2018-03-20 10:27:43

标签: angular asp.net-web-api2 openid-connect angular-local-storage

我有一个angular2应用程序,使用openid-connect和oauth2进行保护。在用户通过身份验证后,应用程序将访问受保护的webapi1。一切正常,直到这里。

现在我想访问另一个安全的webapi,例如:来自webapi1方法的webapi2。怎么做,即。如何让持有者令牌在httpclient中传递?

我使用localstorage将访问令牌存储在角度应用程序中。

由于

1 个答案:

答案 0 :(得分:0)

首先,您需要澄清哪一个是主认证服务器(Web API 1或Web API 2)。

  • 如果Web API 2是主认证服务器,那么您需要使用API​​ 1和API 2之间的服务器到服务器通信来获取承载令牌,并且只需进行令牌转发。
  • 如果两个API都有自己的身份验证机制,那么在对API 1进行身份验证之前,您需要从API 2获取令牌,然后将API 2令牌添加到API 1的声明中,并向客户端发出API 1令牌。 (注意:在向API 2发送请求时使用存储在声明中的API 2令牌)。