Я включил AWS Mobile Hub Cognito Sign-In, как описано в Добавьте AWS Mobile User SignIn для iOS Swift, и он работает, как и ожидалось, однако я не могу найти способ получить access_token вошедшего в систему пользователя, или, более конкретно, подпрограмма пользователя из расшифрованного access_token.
Я смог добиться этого для Android, реализовав обратный вызов для AuthHandler, который вызывает метод с именем onSuccess
и передает ему объект AuthUserSession
, который содержит auth_token.
Из документов видно, что для iOS есть нечто похожее с реализацией AWSSignInDelegate
, но я не могу понять, присутствует ли access_token или нет в каком-либо из параметров метода делегата. Может быть, кто-то более знакомый с ним (или отладчик) может заполнить пробелы?
class AppDelegate: UIResponder, UIApplicationDelegate, AWSSignInDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
AWSSignInManager.sharedInstance().delegate = self
return AWSMobileClient.sharedInstance().interceptApplication(application, didFinishLaunchingWithOptions: launchOptions)
}
...
func onLogin(signInProvider: AWSSignInProvider, result: Any?, error: Error?) {
// How to find the auth_token or sub from here?
}
}
Параметр result
метода onLogin
кажется наиболее вероятным кандидатом на то, что мне нужно, но я не могу понять, как получить к нему доступ. Если есть какой-то другой способ получить его, я тоже буду к этому открыт.