2

LinkedIn からのサインアウトに問題があります。サインアウト方法を実行した後、ユーザー名とパスワードを使用してLinkedInのサインインフォームをユーザーに表示したい。

SingIn メソッド:

NSURL *authorizeTokenURL = [NSURL URLWithString:@"https://www.linkedin.com/uas/oauth/authenticate"];
NSURL *accessTokenURL = [NSURL URLWithString:@"https://api.linkedin.com/uas/oauth/accessToken"];

GTMOAuthViewControllerTouch *authViewControllerTouch = [[GTMOAuthViewControllerTouch alloc] initWithScope:nil language:nil requestTokenURL:requestTokenURL authorizeTokenURL:authorizeTokenURL accessTokenURL:accessTokenURL authentication:authentication appServiceName:@"AppServiceName" delegate:self finishedSelector:@selector(linkedInAuthSelector:finishedWithAuth:error:)];

[authViewControllerTouch setBrowserCookiesURL:[NSURL URLWithString:@"https://api.linkedin.com/"]];

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:authViewControllerTouch];
[self presentViewController:navigationController animated:YES completion:nil];

歌い出し方法:

- (void) logout{
    [GTMOAuthViewControllerTouch removeParamsFromKeychainForName:@"AppServiceName"];
}

しかし、次にサインインするとき、OAuth は、LinkedIn 資格情報を入力する必要があるステップを見逃しています。

アプリが削除され、再度インストールされた場合にのみ、アプリはログインとパスワードを要求します。

4

2 に答える 2

1

[GTMOAuth clearBrowserCookies] メソッドが存在するにもかかわらず。singout メソッドで、ドメインに「linkedin」を含むすべての Cookie を手動で削除します

NSHTTPCookieStorage *cookieStorage;
cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSArray *cookies =  [cookieStorage cookies];

for (NSHTTPCookie *cookie in cookies) {
    if ([cookie.domain rangeOfString:@"linkedin"].location != NSNotFound) {
        [cookieStorage deleteCookie:cookie];
    }
}
于 2013-03-15T21:23:30.163 に答える