我正在使用带有ASP.NET Core 1.1和Angular 2的IdentityServer 4。
我需要从3个不同的来源访问API:
我应该为每个使用哪种GrantTypes?
答案 0 :(得分:2)
API本身没有GrantType,而只是消耗令牌(JWT或参考)。
有关详细信息,Auth0有一个很好的指南: https://auth0.com/docs/api-auth/which-oauth-flow-to-use
答案 1 :(得分:1)
以相反的顺序......
第3 即可。 授权码(因为您的秘密不会留下您信任的环境)
<强> 2 即可。 隐含(因为您的代码确实会留下您信任的环境 - 即在客户端的浏览器上运行,因此可以访问任何秘密)
<强> 1 即可。对我而言,隐含,因为您无法真正信任移动环境(即代码可以被审核并且您的秘密被泄露)。但是,您可以使用授权代码,但如果这样做,您的移动密钥应该与MVC密钥不同。
你也可以考虑MVC&amp;的混合。移动流,因为它将使用服务器到服务器通信进行访问令牌交换。