默认数据保护器 - Owin Token Auth

时间:2015-12-14 19:19:51

标签: asp.net oauth-2.0 owin katana

我正在尝试使用IIS上托管的Owin和ASP.Net来实现令牌身份验证解决方案,并且无法使dafault数据保护在正在生成的承载令牌上正常工作。该解决方案似乎工作正常,除了我可以从一台机器上的auth服务器生成承载令牌,资源API可以在另一台机器上使用这些令牌。从我研究的所有内容中,除非我实现自己的数据保护,否则默认情况下应该使用machine.config文件中的validationKey来保护令牌。我已经尝试将机器密钥/验证密钥添加到我的web.config中,但没有运气。

Startup类中的Configuration方法如下所示:

    public void Configuration(IAppBuilder app)
    {
        HttpConfiguration config = new HttpConfiguration();

        // Setup auth
        ConfigureOAuth(app);
        WebApiConfig.Register(config);
        app.UseWebApi(config);
    }

如何使默认数据保护工作,以便使用验证密钥保护数据?配置中还有另一个步骤吗?

1 个答案:

答案 0 :(得分:0)

您需要拥有 machineKey 节点,以便Auth服务器和资源服务器共享web.config文件中的相同machineKey。您不必进行任何额外的配置设置。

OAuth中间件将使用授权服务器中的默认数据保护提供程序,因此它将使用" validationKey"存储在machine.config文件中的 machineKey 节点中的值,以发出访问令牌并对其进行保护。当您将访问令牌发送到资源服务器时,同样的情况适用,它将使用相同的 machineKey 来解密访问令牌并从中提取身份验证票证。

礼貌 - Taiseer Joudeh http://bitoftech.net/2014/09/24/decouple-owin-authorization-server-resource-server-oauth-2-0-web-api/