@kim5257/capacitor-google-authentication v0.0.38
@kim5257/capacitor-google-authentication
Google Authentication Capacitor Plugin
Install
npm install @kim5257/capacitor-google-authentication
npx cap syncAPI
initialize(...)verifyPhoneNumber(...)confirmPhoneNumber(...)createUserWithEmailAndPassword(...)signInWithEmailAndPassword(...)signInWithGoogle()signInWithCustomToken(...)signInWithApple()getIdToken(...)getCurrentUser()updateProfile(...)updateEmail(...)signOut()linkWithPhone(...)confirmLinkPhoneNumber(...)updatePhoneNumber(...)confirmUpdatePhoneNumber(...)echo(...)addListener('google.auth.phone.verify.completed', ...)addListener('google.auth.phone.code.sent', ...)addListener('google.auth.phone.verify.failed', ...)addListener('google.auth.state.update', ...)- Interfaces
- Type Aliases
initialize(...)
initialize(config: GoogleAuthenticationOptions) => Promise<{ result: 'success' | 'error'; }>| Param | Type |
|---|---|
config | GoogleAuthenticationOptions |
Returns: Promise<{ result: 'error' | 'success'; }>
verifyPhoneNumber(...)
verifyPhoneNumber(options: { phone: string; elem?: HTMLElement; }) => Promise<{ result: 'success' | 'error'; }>| Param | Type |
|---|---|
options | { phone: string; elem?: any; } |
Returns: Promise<{ result: 'error' | 'success'; }>
confirmPhoneNumber(...)
confirmPhoneNumber(options: { code: string; }) => Promise<{ result: 'success' | 'error'; }>| Param | Type |
|---|---|
options | { code: string; } |
Returns: Promise<{ result: 'error' | 'success'; }>
createUserWithEmailAndPassword(...)
createUserWithEmailAndPassword(options: { email: string; password: string; }) => Promise<{ result: "success" | "error"; idToken: string; }>| Param | Type |
|---|---|
options | { email: string; password: string; } |
Returns: Promise<{ result: 'error' | 'success'; idToken: string; }>
signInWithEmailAndPassword(...)
signInWithEmailAndPassword(options: { email: string; password: string; }) => Promise<{ result: "success" | "error"; idToken: string; }>| Param | Type |
|---|---|
options | { email: string; password: string; } |
Returns: Promise<{ result: 'error' | 'success'; idToken: string; }>
signInWithGoogle()
signInWithGoogle() => Promise<{ result: "success" | "error"; idToken: string; }>Returns: Promise<{ result: 'error' | 'success'; idToken: string; }>
signInWithCustomToken(...)
signInWithCustomToken({ customToken }: { customToken: string; }) => Promise<{ result: "success" | "error"; idToken: string; }>| Param | Type |
|---|---|
__0 | { customToken: string; } |
Returns: Promise<{ result: 'error' | 'success'; idToken: string; }>
signInWithApple()
signInWithApple() => Promise<{ result: "success" | "error"; idToken: string; }>Returns: Promise<{ result: 'error' | 'success'; idToken: string; }>
getIdToken(...)
getIdToken(options: { forceRefresh: boolean; }) => Promise<{ result: 'success' | 'error'; idToken: string; }>| Param | Type |
|---|---|
options | { forceRefresh: boolean; } |
Returns: Promise<{ result: 'error' | 'success'; idToken: string; }>
getCurrentUser()
getCurrentUser() => Promise<{ result: 'success' | 'error'; user: User | null | undefined; }>Returns: Promise<{ result: 'error' | 'success'; user: User | null; }>
updateProfile(...)
updateProfile(options: { displayName?: string; photoUri?: string; }) => Promise<{ result: 'success' | 'error'; }>| Param | Type |
|---|---|
options | { displayName?: string; photoUri?: string; } |
Returns: Promise<{ result: 'error' | 'success'; }>
updateEmail(...)
updateEmail(options: { email: string; }) => Promise<{ result: 'success' | 'error'; }>| Param | Type |
|---|---|
options | { email: string; } |
Returns: Promise<{ result: 'error' | 'success'; }>
signOut()
signOut() => Promise<{ result: 'success' | 'error'; }>Returns: Promise<{ result: 'error' | 'success'; }>
linkWithPhone(...)
linkWithPhone({ phone, elem }: { phone: string; elem: HTMLElement; }) => Promise<{ result: "success" | "error"; }>| Param | Type |
|---|---|
__0 | { phone: string; elem: any; } |
Returns: Promise<{ result: 'error' | 'success'; }>
confirmLinkPhoneNumber(...)
confirmLinkPhoneNumber(options: { code: string; }) => Promise<{ result: 'success' | 'error'; }>| Param | Type |
|---|---|
options | { code: string; } |
Returns: Promise<{ result: 'error' | 'success'; }>
updatePhoneNumber(...)
updatePhoneNumber({ phone, elem }: { phone: string; elem: HTMLElement; }) => Promise<{ result: "success" | "error"; }>| Param | Type |
|---|---|
__0 | { phone: string; elem: any; } |
Returns: Promise<{ result: 'error' | 'success'; }>
confirmUpdatePhoneNumber(...)
confirmUpdatePhoneNumber(options: { code: string; }) => Promise<{ result: 'success' | 'error'; }>| Param | Type |
|---|---|
options | { code: string; } |
Returns: Promise<{ result: 'error' | 'success'; }>
echo(...)
echo(options: { value: string; }) => Promise<{ value: string; }>| Param | Type |
|---|---|
options | { value: string; } |
Returns: Promise<{ value: string; }>
addListener('google.auth.phone.verify.completed', ...)
addListener(eventName: 'google.auth.phone.verify.completed', listenerFunc: (resp: { idToken: string; }) => void) => Promise<PluginListenerHandle>| Param | Type |
|---|---|
eventName | 'google.auth.phone.verify.completed' |
listenerFunc | (resp: { idToken: string; }) => void |
Returns: Promise<PluginListenerHandle>
addListener('google.auth.phone.code.sent', ...)
addListener(eventName: 'google.auth.phone.code.sent', listenerFunc: (resp: { verificationId: string | null; resendingToken: string | null; }) => void) => Promise<PluginListenerHandle>| Param | Type |
|---|---|
eventName | 'google.auth.phone.code.sent' |
listenerFunc | (resp: { verificationId: string | null; resendingToken: string | null; }) => void |
Returns: Promise<PluginListenerHandle>
addListener('google.auth.phone.verify.failed', ...)
addListener(eventName: 'google.auth.phone.verify.failed', listenerFunc: (resp: { message: string; }) => void) => Promise<PluginListenerHandle>| Param | Type |
|---|---|
eventName | 'google.auth.phone.verify.failed' |
listenerFunc | (resp: { message: string; }) => void |
Returns: Promise<PluginListenerHandle>
addListener('google.auth.state.update', ...)
addListener(eventName: 'google.auth.state.update', listenerFunc: (resp: { idToken: string; }) => void) => Promise<PluginListenerHandle>| Param | Type |
|---|---|
eventName | 'google.auth.state.update' |
listenerFunc | (resp: { idToken: string; }) => void |
Returns: Promise<PluginListenerHandle>
Interfaces
GoogleAuthenticationOptions
| Prop | Type |
|---|---|
googleClientId | string |
persistence | 'SESSION' | 'LOCAL' | 'MEMORY' |
User
A user account.
| Prop | Type | Description |
|---|---|---|
emailVerified | boolean | Whether the email has been verified with {@link sendEmailVerification} and {@link applyActionCode}. |
isAnonymous | boolean | Whether the user is authenticated using the {@link ProviderId}.ANONYMOUS provider. |
metadata | UserMetadata | Additional metadata around user creation and sign-in times. |
providerData | UserInfo[] | Additional per provider such as displayName and profile information. |
refreshToken | string | Refresh token used to reauthenticate the user. Avoid using this directly and prefer {@link User.getIdToken} to refresh the ID token instead. |
tenantId | string | null | The user's tenant ID. |
| Method | Signature | Description |
|---|---|---|
| delete | () => Promise<void> | Deletes and signs out the user. |
| getIdToken | (forceRefresh?: boolean | undefined) => Promise<string> | Returns a JSON Web Token (JWT) used to identify the user to a Firebase service. |
| getIdTokenResult | (forceRefresh?: boolean | undefined) => Promise<IdTokenResult> | Returns a deserialized JSON Web Token (JWT) used to identify the user to a Firebase service. |
| reload | () => Promise<void> | Refreshes the user, if signed in. |
| toJSON | () => object | Returns a JSON-serializable representation of this object. |
IdTokenResult
Interface representing ID token result obtained from {@link User.getIdTokenResult}.
| Prop | Type | Description |
|---|---|---|
authTime | string | The authentication time formatted as a UTC string. |
expirationTime | string | The ID token expiration time formatted as a UTC string. |
issuedAtTime | string | The ID token issuance time formatted as a UTC string. |
signInProvider | string | null | The sign-in provider through which the ID token was obtained (anonymous, custom, phone, password, etc). |
signInSecondFactor | string | null | The type of second factor associated with this session, provided the user was multi-factor authenticated (eg. phone, etc). |
token | string | The Firebase Auth ID token JWT string. |
claims | ParsedToken | The entire payload claims of the ID token including the standard reserved claims as well as the custom claims. |
ParsedToken
Interface representing a parsed ID token.
| Prop | Type | Description |
|---|---|---|
'exp' | string | Expiration time of the token. |
'sub' | string | UID of the user. |
'auth_time' | string | Time at which authentication was performed. |
'iat' | string | Issuance time of the token. |
'firebase' | { sign_in_provider?: string; sign_in_second_factor?: string; identities?: Record<string, string>; } | Firebase specific claims, containing the provider(s) used to authenticate the user. |
UserMetadata
Interface representing a user's metadata.
| Prop | Type | Description |
|---|---|---|
creationTime | string | Time the user was created. |
lastSignInTime | string | Time the user last signed in. |
UserInfo
User profile information, visible only to the Firebase project's apps.
| Prop | Type | Description |
|---|---|---|
displayName | string | null | The display name of the user. |
email | string | null | The email of the user. |
phoneNumber | string | null | The phone number normalized based on the E.164 standard (e.g. +16505550101) for the user. |
photoURL | string | null | The profile photo URL of the user. |
providerId | string | The provider used to authenticate the user. |
uid | string | The user's unique ID, scoped to the project. |
PluginListenerHandle
| Prop | Type |
|---|---|
remove | () => Promise<void> |
Type Aliases
Record
Construct a type with a set of properties K of type T
{
}
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago