Name:
interface
Value:
Amplify has re-imagined the way frontend developers build fullstack applications. Develop and deploy without the hassle.
Gen1 DocsLegacy

Page updated Mar 26, 2026

Web UIでサインインを有効にする

前提条件

ソーシャルサインインを設定する場合、属性を「必須」として指定する際は注意が必要です。異なるソーシャルアイデンティティプロバイダーは、Cognitoに返す情報の範囲が異なります。最初に「必須」として設定されたユーザープール属性は後で変更できず、ユーザーの移行または新しいユーザープールの作成が必要になる可能性があります。

Auth カテゴリを設定

このライブラリのCognitoプラグインは現在、Authorization Code Grant OAuthフローをサポートしています。

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())
);