FileDataStore不保存令牌

时间:2016-09-17 06:08:29

标签: asp.net-mvc-5 google-api google-calendar-api

我不知道如何解释这个,除了说我有一个MVC项目我正在尝试将Google Calendar集成到我的项目中我创建了另一个MVC项目以确保在我参与之前如何工作和测试在我的主要项目中。

这是问题所在。在我的测试应用中,当我授予Google权限时,FileDateStore会将我的令牌存储在名为 Google.Apis.Auth.OAuth2.Responses.TokenResponse-myemail@gmail 的文件中,内容为json。

但是当我将代码移植到我的主MVC应用程序中,运行它,授予google权限,然后FileDataStore做了一些奇怪的事情。它会创建一个包含URL的文件,并将其命名为 System.String-oauth_myemail@gmail

我在调试期间在工作副本中注意到的一件事是文件以 System.String-oauth_myemail@gmail 开头,但随后更改为 Google.Apis.Auth.OAuth2.Responses.TokenResponse-myemail@gmail 我授权后,我收到了令牌回复。

在我的“破损”应用程序中,似乎没有获得令牌,因为result.Credential返回null。

public async Task<ActionResult> IndexAsync()
{
   var result = await new AuthorizationCodeMvcApp(this, new AppFlowMetadata()).
            AuthorizeAsync(CancellationToken.None);
   // other code here
}

有没有人遇到过这个?

我正在使用此文档作为指南:OAuth 2.0 for Web Server Applications

1 个答案:

答案 0 :(得分:0)

原来我的基于属性的路由导致了havok。我不得不添加一些常规路由以使authcallback正常工作。