如何使用 AWS 身份验证保护我的 wcf 服务

本文关键字:我的 wcf 服务 保护我 保护 何使用 AWS 身份验证 | 更新日期: 2023-09-27 18:30:33

我是否可以使用 AWS 身份验证保护我的 WCF 服务。我试图通过谷歌搜索来解决这个问题,并查找有关调用已使用 AWS 身份验证保护的服务的文章。不是关于如何使用 AWS 保护 WCF 服务的文章。难道没有选择,我对AWS身份验证和签名的理解是错误的。请指出我开始的一篇文章。

如何使用 AWS 身份验证保护我的 wcf 服务

我假设您的意图是创建一个 WCF REST 服务,该服务使用基于 HMAC 的身份验证方案,如 Amazon S3 正在使用的方案。

实现此目的的方法是创建自己的WebServiceHost并重写 ApplyConfiguration 方法。在此方法中,您可以设置一个新的ServiceAuthorizationManager

this.Authorization.ServiceAuthorizationManager = new MyServiceAuthorizationManager();

从 WCF 的ServiceAuthorizationManager派生 MyServiceAuthorizationManager 类并重写 CheckAccessCore 方法。

class MyServiceAuthorizationManager : ServiceAuthorizationManager
{
    protected override bool CheckAccessCore(OperationContext operationContext)
    {
        // check the validity of the HMAC
        // return true if valid, false otherwise;
        return IsValidHMAC(WebOperationContext.Current);
    }
}

有关算法实现的更多详细信息,请参阅此答案。