2016-11-16 50 views
0

问题问:基于令牌的认证API和Javascript,您可以保护其他客户端文件不被访问吗?

如果你会使用类似的设置如下面的例子:

  • 简单的WebAPI
  • 的Javascript OIDCClient和的UserManager

是否可以保护其他客户方文件被访问?说例如我有一个目录与某些文件,你需要一定的角色才能够访问它们。

在登录前是否可以保护我的SPA不被访问?

或者有没有更好的解决方案,你会得到一个受保护的api,服务器上的文件夹/文件,SPA以及OIDCClient中的静默更新机制?

回答

2

@dmccaffery帮我解答了我的问题,这里是他对那些有兴趣的人的回答。

总而言之,使用SPA的OIDCClient无疑是最佳选择。公开需要授权的东西应该通过使用API​​来完成。保护您的Angular App的一部分可以使用Route guard来完成。

它的工作方式如下:

访问令牌可以是一个JWT或承载令牌(通常)和是 由OIDC客户端一个授权 报头添加到每个HTTP请求 - 当Web API收到请求时,授权中间件将解析此HTTP标头,并将调用标记内省端点(以及潜在的用户信息端点) 令标记生效并检索用户声明...如果 令牌由客户端操作,它不会有效,并且是HT将返回TP 错误(通常为403)。如果令牌有效,则会创建一个 声明标识并将其分配给http请求上下文。 API现在将拥有一个线程,该线程已分配给代表该用户的 。

此外,他指出,2门pluralsight课程,很可能是有用的: https://www.pluralsight.com/courses/building-securing-restful-api-aspdotnet https://www.pluralsight.com/courses/oauth2-openid-connect-angular-aspdotnet

相关问题