![](/img/trans.png)
[英]Add a “Facebook Login” to SimpleAuth's Instagram Login Page
[英]SimpleAuth don't show login screen on instagram
我想在我的instagram简单应用中实现注销逻辑。 为此,我使用SimpleAuth库。 第一次,当用户启动应用程序时,一切正常。 viewDidLoad中有代码:
-(void)viewDidLoad{
.. some code for interface management
[SimpleAuth authorize:@"instagram" options:@{@"scope":@[@"likes"]} completion:^(NSDictionary* responseObject, NSError *error) {
self.accessToken = responseObject[@"credentials"][@"token"];
[userDefaults setObject:self.accessToken forKey:@"accessToken"];
[userDefaults synchronize];
NSLog(@"access token is afterProceed %@", self.accessToken);
[self refresh];
}];
} else {
[self refresh];
}
很好,对于注销逻辑,我提出了一种简单的方法:
-(void)logoutButtonClicked{
//Deleting token
self.accessToken = nil;
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:nil forKey:@"accessToken"];
[userDefaults synchronize];
}
之后, access.token
假设为nil,并且为nil
。
但是,当我重新启动应用程序(访问令牌设置为nil)时,它将再次加载,并且当我查看NSLog(@"access token is afterProceed %@", self.accessToken);
有一个访问令牌(第二次未使用)。
为什么会这样呢? 如何实现对应用程序的注销逻辑?
我认为这是因为您的SimpleAuth Authorization请求仍针对当前登录到Instagram的帐户进行了验证。 您必须删除访问令牌(就像您已经做过的一样),并进行注销调用以停用当前已被授权的帐户。
一种执行此操作的方法是,通过使用以下网址创建NSURLSessionTask
: https://www.instagram.com/accounts/logout/
: https://www.instagram.com/accounts/logout/
删除当前登录的用户。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.