메뉴로 바로가기

Ionic Auth Connect 이중화에서 @capgo/capacitor-social-login로 진행하세요

GitHub

설치, Sync 및 소스 마크다운 가이드가 포함됩니다.

개요

Capgo Social Login replaces Ionic Auth Connect with a provider-native OAuth2 flow for Google, Apple, Facebook, and other identity providers. It supports multiple providers in one plugin and works across iOS, Android, and Web.

__CAPGO_KEEP_0__ 소셜 로그인은 Ionic Auth Connect를 대체하는 Google, Apple, Facebook 및 기타 식별자 제공자에 대한 제공자-자연 OAuth2 흐름을 제공합니다. iOS, Android 및 Web에서 여러 제공자를 하나의 플러그인으로 지원합니다.

이게 왜 작동하는지 설명합니다.

이 플러그인은 Auth Connect 호환성 wrapper 이름을 포함하고 있습니다. SocialLoginAuthConnect이름은 auth0, azureokta.

을 사용할 수 있습니다.

설치
설치
bun add @capgo/capacitor-social-login
bunx cap sync
// Before
import { AuthConnect } from '@ionic-enterprise/auth-connect';
// After
import { SocialLoginAuthConnect } from '@capgo/capacitor-social-login';

__CAPGO_KEEP_0__ authConnect __CAPGO_KEEP_1__

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',
},
},
});

__CAPGO_KEEP_3__

__CAPGO_KEEP_4__
  • auth0
  • azure
  • cognito
  • okta
  • onelogin

__CAPGO_KEEP_5__

__CAPGO_KEEP_6__
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',
});

__CAPGO_KEEP_8__

__CAPGO_KEEP_9__

__CAPGO_KEEP_10__

__CAPGO_KEEP_11__
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 preset 예시

Azure preset 예시 제목
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 preset 예시

Cognito preset 예시 제목
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);

__CAPGO_KEEP_1__

__CAPGO_KEEP_2__

__CAPGO_KEEP_3__ __CAPGO_KEEP_4__ __CAPGO_KEEP_5__ domain __CAPGO_KEEP_6__ issuer__CAPGO_KEEP_7__

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',
},
},
});

__CAPGO_KEEP_9__

__CAPGO_KEEP_10__

__CAPGO_KEEP_11__

  1. 호환성 계층은 OAuth2 기반입니다. 제공자 이름은 Ionic의 네이티브 구현 세부 정보를 유지합니다.

  2. 리프레시 토큰은 스코프에依存합니다. Request offline_access 또는 리프레시 토큰이 필요할 때 제공자에 맞는 동등한 항목을 사용합니다.

  3. 사용자 정의 엔드포인트는 프리셋을 재정의할 수 있습니다. 프리셋이 정확하지 않다면, 다르지만 프리셋과 유사한 엔드포인트만 재정의합니다.

  4. 직접 oauth2 엔트리 항목이 우선합니다. 두 항목을 모두 정의하면 authConnect.auth0 and oauth2.auth0직접 oauth2 설정은 우선합니다.

아이온IC Auth Connect 마이그레이션에서 @capgo/capacitor-소셜 로그인으로 계속

제목 '아이온IC Auth Connect 마이그레이션에서 @capgo/capacitor-소셜 로그인으로 계속'

이용 중인 경우 아이온IC Auth Connect 마이그레이션에서 @capgo/capacitor-소셜 로그인으로 인증 및 계정 흐름을 계획하고 연결하려면 @capgo/capacitor-social-login을 사용하여 @capgo/capacitor-social-login의 원시 기능을 사용하여 @capgo/capacitor-social-login @capgo/capacitor-social-login의 구현 세부 정보를 사용하여 @capgo/capacitor-passkey @capgo/capacitor-passkey의 구현 세부 정보를 사용하여 @capgo/capacitor-native-biometric @capgo/capacitor-native-biometric의 구현 세부 정보를 사용하여 두 단계 인증 두 단계 인증의 구현 세부 정보를 사용하여