Asp.net 默认数据保护器-Owin令牌身份验证

Asp.net 默认数据保护器-Owin令牌身份验证,asp.net,oauth-2.0,owin,katana,Asp.net,Oauth 2.0,Owin,Katana,我正在尝试使用托管在IIS上的Owin和ASP.Net实现令牌身份验证解决方案,但很难使dafault数据保护在正在生成的承载令牌上正确工作。该解决方案似乎运行良好,除了我可以从一台机器上的身份验证服务器生成承载令牌,并且资源API可以在另一台机器上使用这些令牌。根据我的研究,machine.config文件中的validationKey默认情况下应该用于保护令牌,除非我实现自己的数据保护。我也尝试过将机器密钥/验证密钥添加到我的web.config,但没有成功 Startup类中的配置方法如下

我正在尝试使用托管在IIS上的Owin和ASP.Net实现令牌身份验证解决方案,但很难使dafault数据保护在正在生成的承载令牌上正确工作。该解决方案似乎运行良好,除了我可以从一台机器上的身份验证服务器生成承载令牌,并且资源API可以在另一台机器上使用这些令牌。根据我的研究,machine.config文件中的validationKey默认情况下应该用于保护令牌,除非我实现自己的数据保护。我也尝试过将机器密钥/验证密钥添加到我的web.config,但没有成功

Startup类中的配置方法如下所示:

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

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

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

您需要让身份验证服务器和资源服务器在web.config文件中共享同一个machineKey的machineKey节点。您不必进行任何额外的配置设置

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

礼遇-泰瑟·朱德