Jef*_*eff 8 security authentication rest oauth asp.net-web-api
请考虑以下(常见)方案.我将首先尝试使用OAuth指定我对(漂亮的)Web API的理解.如果我有任何错误的流程,请纠正我.
我的API:关注的焦点,所有客户都使用它.
我的Web应用程序:就像任何其他客户端一样使用API.
我的移动应用程序:也使用API,与Web应用程序完全相同.用户应该能够在不打开浏览器的情况下进行身份验证.
第三方Web App:也使用API - 但是,用户/资源所有者必须授予应用程序执行某些操作的权限.他们通过重定向到我的站点(或打开一个弹出窗口),在必要时记录用户,并提示用户进行访问来完成此操作.
第三方移动应用程序:与第三方Web应用程序相同的要求.
这是我理解的,并且到目前为止都会这样做.这是我真正需要帮助的地方 - 正确完成这项工作.
官方网络应用
- Client attempts to `GET /api/tasks/".
- API says "who are you? (HTTP 401)
- Official web app redirects to login form.
> Bob enters his credentials.
- .. now what? Get an authentication token? Cookie?
Run Code Online (Sandbox Code Playgroud)
我主要使用.NET(C#),但我喜欢一种适用于基于Node JS的API的方法.
你会怎么做?特别是客户流程对我来说是一个问题.我问的原因是,我已经知道除非绝对必要,否则你不应该推出自己的安全解决方案,所以如果有任何标准的准则,请告诉我.:)
看看新的 Web API 2 oAuth 内容。
基本上启动一个新的 Web API 项目并确保您选择更改身份验证。
然后,这是调用注册控制器的简单情况。然后,这会为您创建一个令牌,然后可以在该用户的每个请求的标头中发送该令牌。
使用 fiddler 检查 API 调用并创建一些模拟帐户。
| 归档时间: |
|
| 查看次数: |
1043 次 |
| 最近记录: |