C# 使用Paypal IPN概念实现安全单点登录?

C# 使用Paypal IPN概念实现安全单点登录?,c#,asp.net,authentication,single-sign-on,paypal-ipn,C#,Asp.net,Authentication,Single Sign On,Paypal Ipn,我有两个完全独立的网站,分别位于不同的服务器上。当登录网站“A”时,我希望他们已经通过网站“B”的身份验证,这样,如果用户访问网站B,他们已经通过身份验证。我还计划在网站B的网站A上放置一个iframe,使用iframe URL或cookie中的参数在iframe中进行身份验证 在这种情况下,有没有办法使用Paypal IPN概念进行单点登录?如果iframe URL具有用户名和网站“A”的合作伙伴代码,则网站“B”将听到URL请求,与合作伙伴代码的IPN链接通信,然后网站“A”将从网站“B”检

我有两个完全独立的网站,分别位于不同的服务器上。当登录网站“A”时,我希望他们已经通过网站“B”的身份验证,这样,如果用户访问网站B,他们已经通过身份验证。我还计划在网站B的网站A上放置一个iframe,使用iframe URL或cookie中的参数在iframe中进行身份验证

在这种情况下,有没有办法使用Paypal IPN概念进行单点登录?如果iframe URL具有用户名和网站“A”的合作伙伴代码,则网站“B”将听到URL请求,与合作伙伴代码的IPN链接通信,然后网站“A”将从网站“B”检索令牌并存储到用户的cookie


这在工作和安全方面有意义吗?任何建议或经验都将不胜感激

事实上,微软的Windows Identity Foundation(WIF)的工作方式非常相似,只是你并不真正需要任何IPN。
我建议你读一读。
然而,对您来说,实现WIF可能过于复杂,因为它要么需要使用Active Directory,要么需要创建您自己的标识服务,这是一个相当过分的工作

不过,您可以实现类似的功能:
用户在站点A上进行身份验证,获取一个cookie(假设两个站点可以以某种方式共享cookie),其中包含身份验证信息(身份+时间或其他),并使用A的私钥进行签名/加密。

然后,B将使用A的公钥解密/验证所述cookie,并查看客户端拥有的任何凭据。

不幸的是,我认为这不是正确的答案。此外,WIF不需要ADF或创建“身份服务”(假设您指的是STS)。它通常在某个地方需要“an”STS(无论是ADFS还是定制的STS,或者来自其他供应商,如CA、Ping、IBM或Oracle等,这都不重要)。但它也可以在没有STS的情况下使用。我对@TruMan1的建议是多读一点关于基于身份的声明(有很多东西)。