Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@sensenet/authentication-google

SenseNet96GPL-2.02.1.3TypeScript support: included

Client-side Google authentication provider for sensenet

sensenet, document, management, Google, OAuth, JWT, Login

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 idtoken_ 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);
 }
}