Да, это возможно с помощью WKWebView. Он имеет API делегата навигации
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler
Используя вышеуказанный API, вы можете проверить токен доступа, который поступает через cook ie.
Objective- c
WKWebsiteDataStore *dataStore = webView.configuration.websiteDataStore;
WKHTTPCookieStore *cookieStore = dataStore.httpCookieStore;
[cookieStore getAllCookies:^(NSArray<NSHTTPCookie*> *cookieArray) {
NSString *cookieValue = nil;
for (NSHTTPCookie *cookie in cookieArray) {
if ([cookie.name isEqualToString:@"access_token"]) {
NSString *accessToken = cookie.value;
}
}
}];
Swift
let dataStore = webView.configuration.websiteDataStore
let cookieStore = dataStore.httpCookieStore
cookieStore.getAllCookies({ cookieArray in
let cookieValue: String? = nil
for cookie in cookieArray ?? [] {
if (cookie.name == "access_token") {
let accessToken = cookie.value
}
}
})
Это то, что я делаю в нашем проекте. Надеюсь, это вам поможет.