我正在尝试创建一个允许第三方身份验证的ASP.NET MVC Azure托管网站角色。
客户端可能不希望我添加SQL服务器,因为它需要花钱,而且我可以减少,因为我的所有数据都来自CRM。我的问题是 DotNetOpenAuth ,支持身份验证的库,似乎需要一些数据库表来存储。但是我不想使用任何存储,因为我想将所有数据(和身份验证令牌)放在CRM中。
1)如果我不使用DB来保留令牌,那么使用加密的cookie /服务器端会话是个好主意吗?我需要修改什么?
2)来自1的内存中非数据库会话*在Azure中可扩展吗?
3)有没有办法让DotNetOpenAuth(WebSecurity类)在不依赖数据库的情况下工作?
答案 0 :(得分:0)
DotnetOpenAuth不需要数据库,您提供自己的几个接口实现,无需db。
标记不会持久化。相反,令牌包含使用身份验证服务器的私钥加密的用户名和范围。这样您只需要资源服务器中的公钥来解密令牌(ICryptoKeyStore
接口)。
您也可以在文件系统或其他地方持久存储密钥。