我有一个使用WebAPI构建的Web服务,它接受JSON请求并作出相应的响应。核心架构是建立的,但没有任何身份验证/授权。
经过大量的搜索和挖掘示例项目,我不知道从哪里开始。我在2008年和2009年发现了大量材料,但并不是最近的WebAPI /单页应用程序指南/工作流程。我认为工作流程应该如下:
>检查用户是否登录:如何使用javascript?我是否将cookie发送到我的webAPI?如果是,请发送该cookie作为请求正文中的参数?
>让用户登录/注册:该数据如何加密/解密?当然我无法通过电话发送密码… SSL是否进入?
>让他们访问他们有权访问的权限:我想我得到了这一点 – 我可以在每个请求的基础上授权控制器。
任何信息都会很棒
解决方法
JavaScript客户端是独一无二的。您是否在同一个域中安装了Web API和页面?如果没有,您有相同的起始策略限制。如果您拥有托管网页和Web API的相同Web应用程序,则可以使用表单Authn。在这种情况下,您不需要从JavaScript发送包含身份验证单的Cookie。浏览器为您做这些,这是XSRF问题的原因。您必须注意最终用户不应该知道的JavaScript发送凭据。如果JavaScript知道什么,任何智能终端用户都可以了解这些知识。 OAuth 2.0隐性授权可能是一个不错的选择。最终用户输入颁发访问令牌的授权服务器中的凭据(密码)。 JavaScript获取令牌并将其呈现给Web API,但它将永远无法访问凭据。