我必须开发一个实现自定义身份验证的网站。 到目前为止没问题,我应该使用会员提供商等等。 现在出现问题....我必须创建其他网站,可以从主要网站访问,而无需要求用户凭据。如果用户未经过身份验证,此站点必须以静默方式登录或再次显示登录表单。
我想我必须以某种方式使用DotNetOpenAuth和OpenId身份验证,但我花了几天时间搜索互联网而没有找到任何起点。 所有样本都使用谷歌或Facebook,但不是我的情况....
基本上....
我对OpenId感到困惑,并希望有人能给我一些提示。
任何帮助都将非常感激
谢谢!
答案 0 :(得分:0)
听起来您想成为OpenID提供商(http://openid.net/add-openid/become-a-provider/)。搜索OpenID提供程序库。实施OpenID提供程序后,每个外部网站都需要使用OpenID依赖方库实现OpenID。
答案 1 :(得分:0)
如果您具有灵活性,我还建议调查MVC4,它内置了对ClaimsIdentity的支持,可以使用OpenId,OAuth,单点登录(SSO)和联合身份验证等方式为外部身份验证提供更好的支持。我正在尝试在我的应用程序中实现这一点,所以我还在学习。我还在尝试研究Windows Identity Framework(WIF)但是我仍然不确定它在所有这些方面的作用。这不是一个答案,因为它是我认为你可能从中受益的新方法。
答案 2 :(得分:0)
DotNetOpenAuth可以提供您需要的OpenID Provider功能。还有提供者samples available from Sourceforge。查找OpenIdProviderMvc示例。
考虑到你想要的是两个相关网站之间的SSO登录体验,我建议你研究名称中带有“SSO”的DNOA样本。
答案 3 :(得分:0)
我不确定您的项目规模或范围。如果它只有两个网站和少量流量,那么实施身份提供商(OpenID提供商)是一种矫枉过正。相反,您可以查看一个简单的方法,例如http://www.youtube.com/watch?v=1u7-sBadfW4。
然而,如果这不仅仅是两个网站,它总是更好地坚持开放标准,因为这将带来诸如安全性,可扩展性,互操作性等优势。但仍有免费和开源的openID您可以下载并开始工作的提供商(http://wso2.com/products/identity-server/)