Ionic Auth Connectの移行から@capgo/capacitor-social-login
インストール
Capgo CapgoのSocial Loginは、Google、Apple、Facebook、他のIDプロバイダーに対して、プロバイダー固有のOAuth2フローを使用して、Ionic Auth Connectを置き換えます。複数のプロバイダーを1つのプラグインでサポートし、iOS、Android、Webで動作します。
なぜこれが機能するか
「なぜこれが機能するか」というセクションプラグインには、Auth Connectの互換性のあるラッパーが含まれます。 SocialLoginAuthConnect これは、Ionic Auth ConnectのプロバイダーIDを、組み込みのOAuth2エンジンにマップすることで、名前のままの使用が可能です。 auth0, azureインストール okta.
「インストール」というセクション
ターミナル画面npm install @capgo/capacitor-social-loginnpx cap syncインポートを置き換え
「インポートを置き換え」のセクション// Beforeimport { AuthConnect } from '@ionic-enterprise/auth-connect';
// Afterimport { SocialLoginAuthConnect } from '@capgo/capacitor-social-login';プロバイダーを初期化
「プロバイダーを初期化」のセクションCapacitorの 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のデフォルト設定例
「Oktaのデフォルト設定例」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のデフォルト設定例
「OneLoginのデフォルト設定例」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の設定」のセクションプレセットを使用しない場合は、一般的なOAuth2のドキュメントで、同じプロバイダーを直接設定してください:
移行に関する注意
「移行に関する注意」のセクション-
互換性レイヤーはOAuth2ベースです プロバイダーの名前は、Ionicのネイティブ実装の詳細を保持しています。
-
リフレッシュトークンはスコープに依存しています リクエスト
offline_accessまたは、リフレッシュトークンが必要な場合に、プロバイダー固有のエクイバレントを使用してください。 -
カスタムエンドポイントは、プリセットを上書きできます。 プリセットが近いですが、正確ではない場合は、異なるエンドポイントのみを上書きしてください。
-
直接
oauth2エントリは勝つ 両方を定義する場合、authConnect.auth0とoauth2.auth0直接oauth2設定が優先されます。
関連するドキュメント
「関連するドキュメント」セクション- ソーシャルログインの開始
- OAuth2とOIDCプロバイダー
- Migrate from Ionic Auth Connect
- Ionic enterprise plugins migration solution
Ionic Auth Connectから続けて@capgo/capacitor-social-login
Section titled “Ionic Auth Connectから続けて@capgo/capacitor-social-login”Ionic Auth Connectから続けて@__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-social-loginを使用している場合 Ionic Auth Connectから続けて@capgo/capacitor-social-loginを使用して 認証とアカウントフローの計画と実施に使用する@__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-social-login @capgo/capacitor-social-loginを使用して @capgo/capacitor-social-loginのネイティブ機能を使用する @capgo/capacitor-social-loginの実装詳細 @capgo/capacitor-passkey Ionic Auth Connectから続けて@capgo/capacitor-social-login Capacitorの実装詳細については@capgo/capacitor-passkeyで確認してください。 Capacitorの@capgo/capacitor-native-biometric Capacitorの実装詳細については@capgo/capacitor-native-biometric、 2要素認証 2要素認証の実装詳細については@__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-native-biometricで確認してください。