c# - 在 C# web api 上进行用户身份验证的最佳做法是什么?

标签 c# security cross-domain restful-authentication asp.net-web-api

我正在构建一个为某些应用程序提供数据的网络 API。

该场景类似于托管在 Server001 上的 Web API,具有可用的 GET/POST/PUT/Delete 方法。

In Server002 是采用另一种技术(例如 PHP)的站点,它将使用提供 API 的数据来呈现给您的用户。 websites/ios/android/wp8 其他应用也可以从我的webapi获取数据(当然是权限web api)。

所以我想为每个注册的应用程序生成 key 。每个 Get/Post 的 header 都会发送此 key ,这样我就知道是否允许应用程序。

之后我在想一个用户怎么才能登录呢?如果用户在 IOS APP 中通过 PHP 请求登录,我想知道并想向他展示。因为 Gmail 今天就是这样。所以我需要管理应用程序以及每个用户的登录位置。我怎么能这样做?有现成的解决方案吗?

将登录所有应用程序的所有用户保存在 MemoryCache 上是否正确?恐怕如果同时连接成千上万的用户会成为问题吗?

我在安全方面完全是新手,我不想现在做某事三个月后重做。

谢谢

最佳答案

我认为这对你有好处:OAuth (授权标准)。
DotNetOpenAuth - .NET 的 OAuth 库。

关于c# - 在 C# web api 上进行用户身份验证的最佳做法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16385325/

相关文章:

c# - LINQ to SQL 实体列名称属性被 guid 主键忽略

PHP - MySQL 安全问题?

javascript - 如何使用 XMLHttpRequest 在后台下载 HTML 页面并从中提取文本元素?

javascript - 如何从 https 弹出窗口重新加载 http window.opener?

c# - 抑制 FFT 中的频率

c# - 如何接受任何类型的泛型参数?

c# - 如何检测托管 C# 屏幕保护程序中的 GDI 资源泄漏?

mysql - 我需要了解phonegap mysql远程安全

java - 在 Spring 中使用 JAX-WS 对 Web 服务客户端进行摘要式密码身份验证

javascript - 在线查找 CORS 友好的图像