我有一个关于Web应用程序中授权的最佳标准体系结构的问题,该体系结构在后端使用Asp.Net Web Api编写,并且具有angularjs客户端。
根据我之前看到的,"资源所有者证书" flow是在这种情况下使用的,其中webapp将用户的凭证发送到服务器并获得访问令牌(和刷新令牌),然后使用拦截器,每次对后端apis的调用都将包含访问权限标题中的标记。
但是,我最近看到有关这是一个坏主意的争论,因为它将用户的凭据提供给客户端应用程序。
当javascript客户端直接呼叫WebApis时,场景的最佳流程是什么?使用Identity Server保护它的最佳方法是什么?
答案 0 :(得分:1)
当客户端应用程序(角度)将用户重定向到在openid身份提供程序(Identity Server)上登录时,您也可以考虑隐式流或混合流,并且在成功进行身份验证后,这将返回一个访问/身份令牌,该令牌可以用于随后的Apis调用。
在这种情况下,客户端应用程序永远不会触及客户端凭据,它始终必须管理令牌。
另见https://www.scottbrady91.com/OpenID-Connect/OpenID-Connect-Flows