GoogleOAuth2AuthenticationProvider AccessToken未经过验证

时间:2014-06-10 08:48:11

标签: asp.net-mvc oauth

我在我的MVC5 Web App(SPA模板)中使用GoogleOAuth2AuthenticationOptions类进行身份验证。以下是代码

var g = new GoogleOAuth2AuthenticationOptions
{
    ClientId = "clientid",
    ClientSecret = "secret",
    //CallbackPath="",
    Provider = new GoogleOAuth2AuthenticationProvider
    {
        OnAuthenticated = async ctx =>
        {
            ctx.Identity.AddClaim(new Claim("urn:tokens:google:accesstoken",        ctx.AccessToken));
        }
    }
};
// restrict the retrieved information to just signin information
g.Scope.Add("openid");
app.UseGoogleAuthentication(g);

我得到的令牌是这样的

ya29.LgAibra6cNLEKCEAAADLJxUOviZRgv9JSm-jrB-lNp16nomUijNrVAbcdDkI60Vg-A9yjFN4abcd_C8b4

我在后续调用MVC WebAPI时使用此标记,该安全使用OAuthBearerTokens。我通过我的MVC Web应用程序的WebAPI调用中的标头发送访问令牌

app.UseOAuthBearerTokens(OAuthOptions);       

客户端上生成的javascript包含一个更大的令牌,可以与我的MVC WebAPI一起使用。有谁知道如何解决这个问题,加上为什么javaScript令牌不同?我怀疑这与SPA模板本身有关,但我不确定。

0 个答案:

没有答案