Выйти из библиотеки MSAL Azure в цели c

У меня проблема с выходом из библиотеки MSAL.

Я использовал библиотеку из: https://github.com/AzureAD/microsoft-authentication-library-for-objc

Я пытаюсь выйти из системы, а затем снова войти с другими учетными данными, но это не работает.

Функция для выхода из системы:

[self.msalClient removeUser: ошибка self.user:&error_];

Пожалуйста помоги

1 ответ

Он будет хранить кэш для пользователя, который вошел в систему. Поэтому вам также необходимо удалить кэш, как показано ниже.

    NSHTTPCookieStorage *cookieJar = [NSHTTPCookieStorage sharedHTTPCookieStorage];
     for (NSHTTPCookie *cookie in [cookieJar cookies]) {
           if ([cookie.name isEqualToString:@"MSISAuth"] ||
               [cookie.name isEqualToString:@"MSISAuthenticated"] ||
               [cookie.name isEqualToString:@"MSISLoopDetectionCookie"]) {
                    [cookieJar deleteCookie:cookie];
                }
            }
   [self.msalClient removeUser:self.user error:&error_];

И есть некоторые другие опции, которые вы можете добавить при входе в систему, как это

 [authContext acquireTokenWithResource:resource clientId:clientId redirectUri:[NSURL URLWithString:redirectURI] promptBehavior:AD_PROMPT_ALWAYS userId:nil extraQueryParameters:nil completionBlock:^(ADAuthenticationResult *result) {

  }];

куда AD_PROMPT_ALWAYS будет просить пользователя вводить имя пользователя и пароль каждый раз, когда он входит в систему, независимо от кэша.

AD_PROMPT_REFRESH_SESSION откроет экран входа, но пароль сохранится. Так что если вы нажмете на userId, он получит необходимые токены.

AD_PROMPT_AUTO в зависимости от времени истечения сеанса будет перенаправлен на вход

Другие вопросы по тегам