AWS-Amplify Auth: Error Failed to initialize OAuth, please c



社交登录时使用amplify auth报错

E/MyAmplifyApp: Could not initialize Amplify
AuthException{message=Failed to instantiate AWSMobileClient, cause=java.lang.RuntimeException: Failed to initialize OAuth, please check your awsconfiguration.json, recoverySuggestion=See attached exception for more details}
Caused by: java.lang.RuntimeException: Failed to initialize OAuth, please check your awsconfiguration.json
at com.amazonaws.mobile.client.AWSMobileClient$2.run(AWSMobileClient.java:626)
at com.amazonaws.mobile.client.internal.InternalCallback$1.run(InternalCallback.java:101)
at java.lang.Thread.run(Thread.java:923)
Caused by: org.json.JSONException: No value for WebDomain

JSON格式

"WebDomain": "amplifyandroi[...].auth.ap-south-amazoncognito.com",
"AppClientId": "[id]",
"SignInRedirectURI": "app://",
"SignOutRedirectURI": "app://",
"Scopes": [
"phone",
"email",
"openid",
"profile",
"aws.cognito.signin.user.admin"
]

我在Android上遇到了同样的问题,我面临的问题是,我的amplifyconfiguration.json有额外的设置,用于托管UI,我没有使用。通过删除它们,我能够解决这个问题。最后,我的amplifyconfiguration.json看起来像这样:

{
"auth": {
"plugins": {
"awsCognitoAuthPlugin": {
"CognitoUserPool": {
"Default": {
"PoolId": "us-east-1_xxxxxxxx",
"AppClientId": "xxxxxxxxxxxxxxxx",
"Region": "us-east-1"
}
}
}
}
}
}

注意:我只使用用户池,而不是身份池,所以我可以从AWS文档中的默认json结构中删除更多内容。

最新更新