使用客户端生成的令牌进行WCF身份验证的最简单方法

时间:2010-02-11 22:09:23

标签: wcf authentication token

(我尝试搜索,但找不到任何真正有用的链接。)

我们正在实施一组WCF服务。我将喜欢在这些服务中做的是让客户端(将是受信任的应用程序服务器)能够将某种令牌传递给Web服务进行身份验证。我希望在初始或后续请求中传递用户名/密码(因为在某些情况下,调用应用程序服务器可能没有密码)。 Windows和Kerberos在我们的特定情况下不可用。

我原本想创建一个简单的自定义UserNameSecurityTokenAuthenticator类并对其进行修改,以便在密码为空时将userName作为字符串编码的标记值(显然检查标记本身以验证它在该点是否有效) ,但如果密码不为空,则将用户名/密码转发给MembershipProvider进行检查。基本上我想重写用户名/密码身份验证以提供令牌传递。

这可能吗?我可以简单地插入这样的令牌验证器,还是有其他一些简单的方法来“拦截”这样的请求(并从解密的令牌中更新实际的用户名值)?

或者是否有其他一些非常简单的方法允许客户端传递自定义令牌并让服务器接受我刚刚丢失的内容?

1 个答案:

答案 0 :(得分:1)

如果它是一个相当受控制的环境而且涉及的客户不多,那么我会尝试按照两种方式使用证书来保护传输链接的B2B方案的界限。

证书未绑定到Windows或AD域,并且设置它们是一次性工作。

详细了解该WCF安全方案: