Я немного новичок в Swift, но я пытаюсь адаптировать AWSCognitoAuth к плагину Swift для Capacitor.Я создал репо здесь: https://github.com/Kikketer/CapacitorTest
Одна из самых больших проблем заключается в том, что обратный вызов не запускается внутри проекта iOS:
cognitoAuth.getSession(self.bridge.viewController) { (session, err) in
// this is never called after I click the "sign in" button in Cognito
if(err != nil) {
NSLog(err.debugDescription)
call.reject(err.debugDescription)
} else {
call.resolve([
"accessToken": session?.accessToken?.tokenString ?? ""])
}
}
Через все настройки, которые у меня естьописанный в файле readme, это подсветка:
- Я настраиваю пулы пользователей Cognito, добавляю пользователя и создаю для него страницу приложения
- Я принес последнюю версию модуля AWSCognito (2.9 с этого времени)
- Я написал плагин для конденсатора, чтобы преодолеть разрыв, но теоретически Capacitor не имеет ничего общего с этим, так как это кажется чисто Swift и собственной проблемой реализации: https://github.com/Kikketer/CapacitorTest/blob/master/ios/App/App/CognitoPlugin.swift#L12
- Когда я нажимаю кнопку «войти» в приложении, Cognito запускается в «специальном браузере iOS», как и должно быть, но после того, как я нажимаю кнопку входа в этом браузере, он просто там зависает.
- Обратный вызов никогда не запускается, пока я не нажму «Готово» (что в данном случае является ошибкой, фактический токен не возвращается).
Я не вижу никаких очевидных ошибокв любом из журналов, так что я неЯ не знаю, куда идти дальше.
Я понимаю, что достаточно много настроек, чтобы повторить эту проблему, но любая помощь будет признательна.
РЕДАКТИРОВАТЬ: я сделал немного ближерасследование и я получаю 405
ответ, но на странице не отображается сообщение об ошибке:
The Server responded with a status of 405
https://[mydomain].auth.us-east-2.amazoncognito.com/login?response_type=code&client_id=[myclientid]&state=[a big guid]&redirect_uri=com.testthing.myapp://signin&scope=email%20openid&code_challenge=[a long code]&code_challenge_method=S256