Я использую AppAuth-iOS для входа в AD B2C, AppAuth-iOS использует SFAuthenticationSession для выполнения запросов аутентификации на iOS 11+.Я предположил, что когда я вызываю SFSafariViewController, чтобы открыть ссылку на веб-приложение, которое выполняет SSO с B2C, оно автоматически аутентифицирует пользователя в нем.Однако это не похоже на работу.
Разве это не должно работать?Я делаю это неправильно?
Я попытался изменить модуль AppAuth-iOS в своем проекте и попытался открыть запрос аутентификации в веб-просмотре и использовать веб-просмотр, чтобы также открыть ссылку .. не работает,Кроме того, я читал о случаях, когда Safari не делился файлами cookie, относится ли это также к просмотру веб-страниц?Использует ли веб-браузер браузер Safari?Я также читал другие материалы, связанные с этой проблемой, но они сбивают меня с толку, и, в конце концов, для меня нет их закрытия.
Это код из OIDExternalUserAgentIOS.m из AppAuth-iOS, которыйиспользуется для связи приложения с именем входа B2C:
SFAuthenticationSession *authenticationVC =
[[SFAuthenticationSession alloc] initWithURL:requestURL
callbackURLScheme:redirectScheme
completionHandler:^(NSURL * _Nullable callbackURL,
NSError * _Nullable error) {
__strong OIDExternalUserAgentIOS *strongSelf = weakSelf;
if (!strongSelf)
return;
strongSelf->_authenticationVC = nil;
if (callbackURL) {
[strongSelf->_session resumeExternalUserAgentFlowWithURL:callbackURL];
Я использую этот код для открытия ссылки,
SFSafariViewController *svc = [[SFSafariViewController alloc] initWithURL:URL];
svc.delegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
[self presentViewController:svc animated:YES completion:nil];
Я надеюсь, что SSO будет работать между SFAuthenticationSession и SFSafariViewController.
Большое спасибо.