Я пытаюсь реализовать аутентификацию через AWS, используя Identity Pools, чтобы разрешить вход в Cognito User Pools, Facebook и Google в Swift. Я делал это на Android раньше, и я знаю, что после аутентификации через вашего провайдера идентификации вы устанавливаете логины, используя карту провайдера идентификации и токен, который вы получаете:
Map<String, String> logins = new HashMap<String, String>();
logins.put("graph.facebook.com", AccessToken.getCurrentAccessToken().getToken());
credentialsProvider.setLogins(logins);
Теперь я пытаюсь сделать то же самое для Swift, и кажется, что вы просто делаете что-то похожее:
class FacebookProvider: NSObject, AWSIdentityProviderManager {
func logins() -> AWSTask<NSDictionary> {
if let token = AccessToken.current?.authenticationToken {
return AWSTask(result: [AWSIdentityProviderFacebook:token])
}
return AWSTask(error:NSError(domain: "Facebook Login", code: -1 , userInfo: ["Facebook" : "No current Facebook access token"]))
}
}
Мой вопрос сейчас заключается в том, как реализовать это при аутентификации с помощью Cognito User Pools (в Swift).
Все, что я пытаюсь сделать, это получить свою федеративную личность в Свифте. Почему Amazon делает это так сложно?