Skip to content

ksaito-hiu/css-google-auth

Repository files navigation

css-google-auth

Components for Google authentication in CommunitySolidServer.

Running the Community Solid Server with css-google-auth

At first, setup OAuth 2.0 at Google API Console.

The redirect uri should be ${Root of CommunitySolidServer}/.account/google/oidc/. Then create a directory for your project. And create a file named google-auth.json in your project directory.

{
  "@context": [
    "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
    "https://linkedsoftwaredependencies.org/bundles/npm/css-google-auth/^2.0.0/components/context.jsonld",
  ],
  "import": [
    "cga:config/google-auth.json"
  ],
  "@graph": [
    {
      "@id": "urn:cga:core:MyOverride1",
      "@type": "Override",
      "overrideInstance": { "@id": "urn:cga:core:GoogleOIDC" },
      "overrideParameters": {
        "@type": "GoogleOIDC",
        "client_id": "Maybe a string that has 71 characters, and ends with apps.googleusercontent.com .",
        "client_secret": "Maybe a string that has 24 characters."
      }
    }
  ]
}

In your project directory, execute bellow commands.

npm init -y
npm install @solid/community-server css-google-auth openid-client
npx community-solid-server -c @css:config/file.json google-auth.json -f data -m .

The CommunitySolidServer will start at http://localhost:3000/. Create an account, then go to your account page. It will contain the link "Add Google Account".

Customize css-google-auth

The CommunitySolidServer is developed using Components.js.

If you need to configure css-google-auth, you can use following 2 interfaces.

  • GoogleAuthFilter
    • If you need to filter accounts that can register to your server, make a class implementing this interface, and exchange DefaultGoogleAuthFilter to it. You can reject by throwing an exception in your implementation.
  • PostGAccountGen
    • If you need to execute some processes after adding google authentication login, you can implement this interface, and exchange DefaultPostGAccountGen to your implementation.

About

Components for Google authentication in CommunitySolidServer.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published