This package is not under active development. You can find our latest packages in the sensenset/sn-client monorepo.
This package contains a client-side Google Oauth2 authentication provider for sensenet.
npm install @sensenet/authentication-google
- sensenet 7.0 with an installed Google OAuth provider
- Google API Console project
- (optional) Google Platform Library or another Google OAuth component that can retrieve id_token
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: ""});
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);
}
}