放大 Auth 事件在 android 中不起作用
Amplify Auth events don't work in android
我正在开发一个使用来自 AWS Amplify 库的身份验证的应用程序。
我试图通过查看 Amplify 的身份验证事件来检查登录状态,但它
不起作用。我试图用 logcat 验证,但它只显示了输出
抓取。
Amplify.Auth.fetchAuthSession(
result -> Log.i("AmplifyQuickstart", result.toString()),
error -> Log.e("AmplifyQuickstart", error.toString())
);
Amplify.Hub.subscribe(HubChannel.AUTH, hubEvent -> {
if (hubEvent.getName().equals(InitializationStatus.SUCCEEDED.toString())) {
Log.i("AuthQuickstart", "Auth successfully initialized");
} else if (hubEvent.getName().equals(InitializationStatus.FAILED.toString())) {
Log.i("AuthQuickstart", "Auth failed to succeed");
} else {
switch (AuthChannelEventName.valueOf(hubEvent.getName())) {
case SIGNED_IN:
Log.i("AuthQuickstart", "Auth just became signed in.");
break;
case SIGNED_OUT:
Log.i("AuthQuickstart", "Auth just became signed out.");
break;
case SESSION_EXPIRED:
Log.i("AuthQuickstart", "Auth session just expired.");
break;
default:
Log.w("AuthQuickstart", "Unhandled Auth Event: " + AuthChannelEventName.valueOf(hubEvent.getName()));
break;
}
}
});
我成功处理问题的一种方法是传递错误 lambda
参考errorAuthenticationHandle
函数如下:
Amplify.Auth.signIn(this.userName, password,
result -> Log.i("AuthQuickstart", result.isSignInComplete() ?
"Sign in succeeded" : "Sign in not complete"),
this::errorAuthenticationHandle
);
private void errorAuthenticationHandle(AuthException error) {
Log.e("AmplifyQuickstart", error.toString());
switch (getErrorNumber(error)) {
// Server require password reset
case RESET:
// Some code
break;
case FAILED:
// Some code
break;
}
}
我正在开发一个使用来自 AWS Amplify 库的身份验证的应用程序。 我试图通过查看 Amplify 的身份验证事件来检查登录状态,但它 不起作用。我试图用 logcat 验证,但它只显示了输出 抓取。
Amplify.Auth.fetchAuthSession(
result -> Log.i("AmplifyQuickstart", result.toString()),
error -> Log.e("AmplifyQuickstart", error.toString())
);
Amplify.Hub.subscribe(HubChannel.AUTH, hubEvent -> {
if (hubEvent.getName().equals(InitializationStatus.SUCCEEDED.toString())) {
Log.i("AuthQuickstart", "Auth successfully initialized");
} else if (hubEvent.getName().equals(InitializationStatus.FAILED.toString())) {
Log.i("AuthQuickstart", "Auth failed to succeed");
} else {
switch (AuthChannelEventName.valueOf(hubEvent.getName())) {
case SIGNED_IN:
Log.i("AuthQuickstart", "Auth just became signed in.");
break;
case SIGNED_OUT:
Log.i("AuthQuickstart", "Auth just became signed out.");
break;
case SESSION_EXPIRED:
Log.i("AuthQuickstart", "Auth session just expired.");
break;
default:
Log.w("AuthQuickstart", "Unhandled Auth Event: " + AuthChannelEventName.valueOf(hubEvent.getName()));
break;
}
}
});
我成功处理问题的一种方法是传递错误 lambda
参考errorAuthenticationHandle
函数如下:
Amplify.Auth.signIn(this.userName, password,
result -> Log.i("AuthQuickstart", result.isSignInComplete() ?
"Sign in succeeded" : "Sign in not complete"),
this::errorAuthenticationHandle
);
private void errorAuthenticationHandle(AuthException error) {
Log.e("AmplifyQuickstart", error.toString());
switch (getErrorNumber(error)) {
// Server require password reset
case RESET:
// Some code
break;
case FAILED:
// Some code
break;
}
}