@kim5257/capacitor-google-authentication
v0.0.38
Published
Google Authentication Capacitor Plugin
Downloads
50
Readme
@kim5257/capacitor-google-authentication
Google Authentication Capacitor Plugin
Install
npm install @kim5257/capacitor-google-authentication
npx cap sync
API
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
{ [P in K]: T; }