繁体   English   中英

SimpleAuth不显示Instagram上的登录屏幕

[英]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的帐户进行了验证。 您必须删除访问令牌(就像您已经做过的一样),并进行注销调用以停用当前已被授权的帐户。

一种执行此操作的方法是,通过使用以下网址创建NSURLSessionTaskhttps://www.instagram.com/accounts/logout/ : https://www.instagram.com/accounts/logout/删除当前登录的用户。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM