#amazon-web-services #flutter #graphql
#amazon-web-services #флаттер #graphql
Вопрос:
Я использую последний официальный плагин aws и плагин flutter graphql. Я хочу использовать AppSync. И в graphql readme описано, как это сделать.
Для использования с API AppSync GraphQL, авторизованным в пользовательских пулах AWS Cognito, просто передайте токен JWT для вашего сеанса пользователя Cognito по ссылке AuthLink:
// Where `session` is a CognitorUserSession
// from amazon_cognito_identity_dart_2
final token = session.getAccessToken().getJwtToken();
final AuthLink authLink = AuthLink(
getToken: () => token,
);
Моя проблема связана с плагином aws, есть метод с именем, fetchAuthSession
который возвращает сеанс с разными токенами. Но он не возвращает jwtToken.. Используются ли какие-либо из возвращенных токенов для AppSync? Пожалуйста, щелкните ссылку сеанса для разных токенов…
Комментарии:
1. удалось ли вам решить эту проблему? Я также пытаюсь выяснить, как вызвать AppSync!!
2. токен вызывается
accessToken
смотрите ниже, как его получить @AshootoshBhardwaj3. Спасибо.. Я использовал собственную страницу аутентификации cognito, используя Webview внутри Flutter. Токен доступа и токен ID были частью аутентифицированного URL. После этого я использовал substring для анализа токена доступа, и это сработало.. В любом случае спасибо!
Ответ №1:
Токен, который вам нужен для AppSync, можно получить с помощью плагина Amplify. Он называется accessToken
Future<String> getAcessToken() async {
CognitoAuthSession res = await Amplify.Auth.fetchAuthSession(options: CognitoSessionOptions(getAWSCredentials: true));
final accessToken = res.userPoolTokens.accessToken;
return accessToken;
}