google oauth2 C#:无刷新令牌
在我的C#应用程序中,我试图获取aouth2访问和刷新令牌: 在阶段:处理响应,当我打电话时,我应该得到如下结果:google oauth2 C#:无刷新令牌,c#,oauth-2.0,C#,Oauth 2.0,在我的C#应用程序中,我试图获取aouth2访问和刷新令牌: 在阶段:处理响应,当我打电话时,我应该得到如下结果: { "access_token":"1/fFAGRNJru1FTz70BzhT3Zg", "expires_in":3920, "token_type":"Bearer", "refresh_token":"1/xEoDL4iW3cxlI7yDbSRFYNG01kVKM2C-259HOF2aQbI" } 但我明白了 { "access_token":"1/f
{
"access_token":"1/fFAGRNJru1FTz70BzhT3Zg",
"expires_in":3920,
"token_type":"Bearer",
"refresh_token":"1/xEoDL4iW3cxlI7yDbSRFYNG01kVKM2C-259HOF2aQbI"
}
但我明白了
{
"access_token":"1/fFAGRNJru1FTz70BzhT3Zg",
"expires_in":3920,
"token_type":"Bearer",
}
因此:缺少刷新令牌。我进行了调试,我确信我找到了api方法:fetchaccessandrefreshttokens,但我没有刷新令牌
PS:我使用的是201306 API
有什么想法吗?在API中,在OAuth2ProviderForApplications.cs文件中,在GetAuthorizationUrl()方法中,如果在字符串中添加&approval\u prompt=force,则在第100行: 返回string.Format(“{0}?scope={1}&state={2}&redirect\u uri={3}&response\u type={4}&”+ “客户端\u id={5}&访问\u类型={6}&批准\u提示=force” 但这是一个可怕的解决方法,而且可能会造成apache许可证问题
如何找到:在google oauth2 playway()中,此参数(approval\u prompt=force)已设置,如果忽略此参数,则不会提供刷新令牌。似乎与以下问题相同:请参见mariuss的答案: