小编Hun*_*tte的帖子

ASP.NET Identity OAuth 令牌字符串允许更改最后一个字符

使用 ASP.NET Identity、WebAPI 和 UseOAuthBearerTokens

public void Configuration(IAppBuilder app)
    {
        app.UseOAuthBearerTokens(new OAuthAuthorizationServerOptions
        {
            AllowInsecureHttp = true,
            TokenEndpointPath = new PathString("/token"),
            AccessTokenExpireTimeSpan = TimeSpan.FromDays(1),
            Provider = new CustomProvider(...))
        });
    }
Run Code Online (Sandbox Code Playgroud)

API 根据有效的登录请求返回令牌字符串。令牌可以正常工作,并允许最终用户访问 API 的授权部分,但是,如果令牌字符串的最后一个字符发生更改,它有时仍然可以工作。看来这只是字符串的最后一个字符的情况,并且只有某些值/更改仍然允许令牌有效。为什么会这样呢?这是代码的问题还是身份的一部分?

例如:从服务器返回的令牌是

mdC0XvL4VBucyMPD-OvQ0KA5vW1Q8OHdF4OtqET5hEFI20uaOXbX4JlzTwkLRmWUr-4cIzQf1adXx5DbnXltuwcSjiX1NEY5DqhS3c9GyU1c2VqLAOUYj4-BraaheNsCPvReZqvT__NsObpziKX98SY4gSUGDBVigVONdvlpRunzPZlIeJh99jBqzavuo4qSEElAlBNvNFts95aN7otO5-bNiDNl1t_CP9PQWcTIipMNe_No2J8wGbmIvEWCBAhN3Ts6lvmFpHSA02up1YykZoDZa0TZY7QOt187aP9-7kN
Run Code Online (Sandbox Code Playgroud)

您可以将 N(位于令牌字符串末尾)更改为 O 或 P,但它仍然允许用户访问 API

asp.net oauth access-token asp.net-web-api asp.net-identity

4
推荐指数
1
解决办法
1015
查看次数