gpt4 book ai didi

ios - Google Plus SDK 不刷新 token (iOS)

转载 作者:行者123 更新时间:2023-11-29 12:59:42 24 4
gpt4 key购买 nike

使用 Google Plus SDK 登录。一开始一切都很好,但 oauth token 似乎在大约 1 小时后过期。我正在关注 recommendations on Google's site并使用

[signIn trySilentAuthentication] 

在 viewDidAppear 函数中。

我知道 token 已过期,因为我在我的服务器上使用 Oauth 并收到 401 响应。

另外值得注意的是,如果 iPhone/iPad 在屏幕打开的情况下一直插着电源,这不是问题。在这种情况下,应用程序可以无限期地运行,不会出现任何问题。

我的 Cloud Endpoint 上的身份验证失败。我正在按如下方式初始化服务:

static GTLService *service = nil;

if (!service) {
service = [[GTLServiceMyModel alloc] init];
service.retryEnabled = YES;
[service setAuthorizer: [GPPSignIn sharedInstance].authentication];
}

此外,如果该应用程序的 token 已过期,我现在的解决方法是使用 iOS 应用程序切换器关闭该应用程序,然后再次启动该应用程序。然后,该应用程序将在 token 过期前再次运行约一个小时。

有人遇到过这个问题吗?任何帮助将不胜感激!

最佳答案

我的问题是我在哪里设置服务的授权方。此代码块仅在第一次调用我的方法时运行。我有 Java 背景,对方法中的静态变量并不了解。现在我明白了!!只需将 setAuthorizer 移到 block 外,一切正常。

static GTLService *service = nil;
if (!service) {
service = [[GTLServiceMyModel alloc] init];
service.retryEnabled = YES;
[service setAuthorizer: [GPPSignIn sharedInstance].authentication];
}

关于ios - Google Plus SDK 不刷新 token (iOS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20123341/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com