@sensenet/authentication-google

Client-side Google authentication provider for sensenet

Usage no npm install needed!

<script type="module">
  import sensenetAuthenticationGoogle from 'https://cdn.skypack.dev/@sensenet/authentication-google';
</script>

README

@sensenet/authentication-google

This package contains a client-side Google Oauth2 authentication provider for sensenet.

NPM version NPM downloads License: GPL v2

Install

# Yarn
yarn add @sensenet/authentication-google

# NPM
npm install @sensenet/authentication-google

Usage

Prerequisites

Setup

You can set up the Provider after creating your repository singleton with the addGoogleAuth method

import { Repository } from '@sensenet/client-core'
import { JwtService } from '@sensenet/authentication-jwt'
import { addGoogleAuth } from '@sensenet/authentication-google'

const repo = new Repository()
const jwt = new JwtService(repo)
const googleOauthProvider = addGoogleAuth(jwt, { clientId: '' })

Login

In your login component, you can use the following snippet. If you don't provide an id_token from an external component, the package will try to retrieve it using a popup window (in that case you have to enable popups and add a callback pointing to your window's origin)

// an example login method with an optional idToken:
async Login(idToken?: string){
 try {
     await googleOauthProvider.login(idToken);
     console.log('Logged in');
 } catch (error) {
    console.warn('Error during login', error);
 }
}