我不知道如何解释这一点,而不是说我有一个MVC项目,我试图得到谷歌日历集成到,我创建了另一个MVC项目,以确保事情如何工作和测试之前,我得到参与我的主要项目。
问题在这里。在我的测试应用程序中,当我授予谷歌权限时,FileDateStore
将我的令牌存储在一个名为 Google.Apis.Auth.OAuth2.Responses.TokenResponse-myemail@gmail
的文件中,内容为json.
但是当我将代码移植到我的主MVC应用程序中,运行它,授予谷歌权限时,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
原来我的基于属性的路由引起了混乱。我必须添加一些常规路由才能使authcallback正常工作。