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

Posted

技术标签:

【中文标题】如何使用 AWS 身份验证保护我的 wcf 服务【英文标题】:How to secure my wcf service using AWS authentication 【发布时间】:2016-04-21 14:47:45 【问题描述】:

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

【问题讨论】:

为了教授如何(不)搜索此类问题,我们应该发布那些(不)能找到问题答案的搜索!! 你说的是 WCF SOAP 服务还是 WCF REST 服务? 【参考方案1】:

我假设您打算创建一个使用 an HMAC based authentication scheme 的 WCF REST 服务,就像 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);
    

算法实现的更多细节,见this answer。

【讨论】:

正是我要找的,抱歉我的赏金已经过期了,让我再开一个赏金,试着奖励你赏金点

以上是关于如何使用 AWS 身份验证保护我的 wcf 服务的主要内容,如果未能解决你的问题,请参考以下文章

WCF - 如何为 NTLM 身份验证配置 netTcpBinding?

如何在 .NET WCF 中保护 HTTP JSON Web 服务

如何在 ASP.Net MVC 应用程序中使用来自 WCF 身份验证服务的身份验证 cookie

具有公共/私有访问权限的 Appsync 身份验证,无需 AWS Cognito

将 Windows 用户“令牌”传递给 WCF 进行身份验证

如何在 WCF 4.0 REST 服务上启用基本身份验证?