Ionic Auth 接続の移行から @capgo/capacitor-social-login に続けてください。
インストール手順とこのプラグインのフルマークダウンガイドまでの手順を含む設定用の質問をコピーする。
Capgo ソーシャルログインは、Google、Apple、Facebook、他のアイデンティティプロバイダーを含む、プロバイダー固有のOAuth2フローでIonic Auth Connectを置き換えます。複数のプロバイダーを1つのプラグインでサポートし、iOS、Android、Webで動作します。
なぜこれが機能するか
セクション「なぜこれが機能するか」プラグインには、 SocialLoginAuthConnect 互換性のあるAuth Connectラッパーが含まれます。 auth0, azure これは、Ionic Auth ConnectのプロバイダーIDを、組み込みのOAuth2エンジンにマップするため、 okta.
例えば、
などを使用できるようにします。bun add @capgo/capacitor-social-loginbunx cap syncインポートを置き換える
「インポートを置き換える」のセクション// Beforeimport { AuthConnect } from '@ionic-enterprise/auth-connect';
// Afterimport { SocialLoginAuthConnect } from '@capgo/capacitor-social-login';プロバイダを初期化する
「プロバイダを初期化する」のセクション「 authConnect Ionic Auth Connect が使用したプロバイダ ID の同じものを使用したい場合は、
await SocialLoginAuthConnect.initialize({ authConnect: { auth0: { domain: 'https://your-tenant.auth0.com', clientId: 'your-auth0-client-id', redirectUrl: 'myapp://oauth/auth0', audience: 'https://your-api.example.com', }, azure: { tenantId: 'common', clientId: 'your-azure-client-id', redirectUrl: 'myapp://oauth/azure', }, cognito: { domain: 'https://your-domain.auth.region.amazoncognito.com', clientId: 'your-cognito-client-id', redirectUrl: 'myapp://oauth/cognito', }, okta: { issuer: 'https://dev-12345.okta.com/oauth2/default', clientId: 'your-okta-client-id', redirectUrl: 'myapp://oauth/okta', }, onelogin: { issuer: 'https://your-tenant.onelogin.com/oidc/2', clientId: 'your-onelogin-client-id', redirectUrl: 'myapp://oauth/onelogin', }, },});サポートされているプロバイダ ID
「サポートされているプロバイダ ID」のセクションauth0azurecognitooktaonelogin
ログイン、ログアウト、トークン アクセス
ログイン、ログアウト、トークンアクセスに関するセクションconst result = await SocialLoginAuthConnect.login({ provider: 'auth0',});
const status = await SocialLoginAuthConnect.isLoggedIn({ provider: 'auth0',});
const code = await SocialLoginAuthConnect.getAuthorizationCode({ provider: 'auth0',});
await SocialLoginAuthConnect.logout({ provider: 'auth0',});プロバイダ固有のプリセット例
プロバイダ固有のプリセット例に関するセクションAuth0プリセット例
Auth0プリセット例に関するセクションawait SocialLoginAuthConnect.initialize({ authConnect: { auth0: { domain: 'https://your-tenant.auth0.com', clientId: 'your-auth0-client-id', redirectUrl: 'myapp://oauth/auth0', audience: 'https://your-api.example.com', }, },});
const auth0Result = await SocialLoginAuthConnect.login({ provider: 'auth0',});
console.log(auth0Result.result.idToken);Azureプリセット例
Azureプリセット例に関するセクションawait SocialLoginAuthConnect.initialize({ authConnect: { azure: { tenantId: 'common', clientId: 'your-azure-client-id', redirectUrl: 'myapp://oauth/azure', }, },});
const azureResult = await SocialLoginAuthConnect.login({ provider: 'azure',});
console.log(azureResult.result.resourceData);Cognitoプリセット例
Cognitoプリセット例に関するセクションawait SocialLoginAuthConnect.initialize({ authConnect: { cognito: { domain: 'https://your-domain.auth.region.amazoncognito.com', clientId: 'your-cognito-client-id', redirectUrl: 'myapp://oauth/cognito', }, },});
const cognitoResult = await SocialLoginAuthConnect.login({ provider: 'cognito',});
console.log(cognitoResult.result.idToken);Okta presetの例
Okta presetの例のセクションawait SocialLoginAuthConnect.initialize({ authConnect: { okta: { issuer: 'https://dev-12345.okta.com/oauth2/default', clientId: 'your-okta-client-id', redirectUrl: 'myapp://oauth/okta', }, },});
const oktaResult = await SocialLoginAuthConnect.login({ provider: 'okta',});
console.log(oktaResult.result.resourceData);OneLogin presetの例
OneLogin presetの例のセクションawait SocialLoginAuthConnect.initialize({ authConnect: { onelogin: { issuer: 'https://your-tenant.onelogin.com/oidc/2', clientId: 'your-onelogin-client-id', redirectUrl: 'myapp://oauth/onelogin', }, },});
const oneloginResult = await SocialLoginAuthConnect.login({ provider: 'onelogin',});
console.log(oneloginResult.result.idToken);エンドポイントのオーバーライド
エンドポイントのオーバーライドのセクション各プレセットは、デフォルトのOAuth2構成を作成します。 domain または issuer。 ご利用のテナントがカスタムエンドポイントを使用している場合、直接オーバーライドしてください:
await SocialLoginAuthConnect.initialize({ authConnect: { onelogin: { issuer: 'https://your-tenant.onelogin.com/oidc/2', clientId: 'your-onelogin-client-id', redirectUrl: 'myapp://oauth/onelogin', authorizationBaseUrl: 'https://your-tenant.onelogin.com/oidc/2/auth', accessTokenEndpoint: 'https://your-tenant.onelogin.com/oidc/2/token', resourceUrl: 'https://your-tenant.onelogin.com/oidc/2/me', logoutUrl: 'https://your-tenant.onelogin.com/oidc/2/logout', }, },});直接OAuth2構成
「直接OAuth2構成」のセクション__CAPGO_KEEP_0__の設定が必要ない場合は、一般的なOAuth2ドキュメントで直接プロバイダを設定する。
移行に関する注意
「移行に関する注意」のセクション-
互換性レイヤーはOAuth2ベースです プロバイダの名前は保持されますが、Ionicのネイティブ実装の詳細はありません。
-
リフレッシュトークンはスコープに依存しています リフレッシュトークンが必要な場合は、リクエスト
offline_accessまたはプロバイダ固有のエクイバレントを使用してください。 -
カスタムエンドポイントはプリセットを上書きできます プリセットが近いですが、正確ではない場合、異なるエンドポイントのみを上書きしてください。
-
直接
oauth2エントリが勝つ 両方を定義すると、authConnect.auth0とoauth2.auth0, どちらも直接oauth2configが優先されます。
関連ドキュメント
セクション「関連ドキュメント」Ionic Auth Connect の移行から @capgo/capacitor-social-login に進む
「Ionic Auth Connect の移行から @capgo/capacitor-social-login に進む」のセクションIonic Auth Connect を使用している場合 Ionic Auth Connect の移行から @capgo/capacitor-social-login に進む 認証とアカウントフローの計画と接続に使用する場合 @capgo/capacitor-social-login を使用する Using @capgo/capacitor-social-login のネイティブ機能 Using @capgo/capacitor-social-login の @capgo/capacitor-social-login の実装詳細 @capgo/capacitor-social-login @capgo/capacitor-passkey 実装詳細のために@capgo/capacitor-パスキーで @capgo/capacitor-ネイティブ・バイオメトリック 実装詳細のために@capgo/capacitor-ネイティブ・バイオメトリック、 2要素認証 実装詳細のために2要素認証。