Need to configure your backend?See Build a Backend →
Web UIでサインインを有効にする
前提条件
- スタートガイドに従ってセットアップされたアプリ
Auth カテゴリを設定
auth/resource.ts ファイルで、次のように更新します。
export const auth = defineAuth({ loginWith: { email: true, externalProviders: { callbackUrls: ["myapp://callback/"], logoutUrls: ["myapp://signout/"], }, },});AndroidManifest.xmlを更新
アプリの AndroidManifest.xml ファイルに以下のactivityとqueriesタグを追加します。必要に応じて myapp をリダイレクトURI接頭辞に置き換えます:
<application ...> ... <activity android:name="com.amplifyframework.auth.cognito.activities.HostedUIRedirectActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="myapp" /> </intent-filter> </activity> ...</application>Web UI サインインを起動
準備ができました。Web UIでサインインを起動する準備ができました。今は、このメソッドをMainActivityの onCreate メソッドに追加してください:
Amplify.Auth.signInWithWebUI( this, result -> Log.i("AuthQuickStart", result.toString()), error -> Log.e("AuthQuickStart", error.toString()));Amplify.Auth.signInWithWebUI( this, { Log.i("AuthQuickStart", "Signin OK = $it") }, { Log.e("AuthQuickStart", "Signin failed", it) })try { val result = Amplify.Auth.signInWithWebUI(this) Log.i("AuthQuickStart", "Signin OK: $result")} catch (error: AuthException) { Log.e("AuthQuickStart", "Signin failed", error)}RxAmplify.Auth.signInWithWebUI(this) .subscribe( result -> Log.i("AuthQuickStart", result.toString()), error -> Log.e("AuthQuickStart", error.toString()) );サインイン中の追加オプション
Amplify.Auth.signInWithWebUI に追加のパラメータを渡すことができます。これらは Cognitoの認可エンドポイント へのリクエストでクエリパラメータとして追加されます。
val options = AWSCognitoAuthWebUISignInOptions.builder() .nonce("randomUUID") .language("en") .loginHint("username") .prompt(AuthWebUIPrompt.LOGIN, AuthWebUIPrompt.CONSENT) .resource("https://localhost") .build()
Amplify.Auth.signInWithWebUI( this, options, result -> Log.i("AuthQuickStart", result.toString()), error -> Log.e("AuthQuickStart", error.toString()));