Configure Google OAuth2 Authentication
To enable Google OAuth2, you must register a new application with Google.
Create Google OAuth2 Keys
In the Google environment, follow these steps:
-
Navigate to the Google Credentials page.
-
Click Create credentials > OAuth client ID.
-
Select the Web application type.
-
Enter Name , such as Kloudfuse.
-
Enter URL of the kloudfuse installation in the Authorized JavaScript Origins.
Example:
kloudfuse.yourcompany.com -
Enter URL that has the
/oauth2/callbackof the kloudfuse in the Authorized redirect URIs.Example:
kloudfuse.yourcompany.com/oauth2/callback -
Click Create.
-
Copy the Client ID and Client Secret from the
OAuth Clientmodal.Save it for next steps.
Option 1: Use Client ID and Secret
In your custom-values.yaml file, add google client ID and secret:
kfuse-auth:
oauth2-proxy:
config:
clientID: "REPLACE_CLIENT_ID"
clientSecret: "REPLACE_CLIENT_SECRET"
Option 2: Use Kubernetes secrets
In the kfuse namespace, create 2 kubernetes secrets:
-
Create a secret called
kfuse-auth-usersas mentioned here. -
Create a new kubernetes secret,
kfuse-auth-users; you can also update an existing secret.Use the output of
cat users.txt| base64as the value ofusers.txtentry in the secret.Use the
editcommand if editing an existing secret.
kubectl edit secret kfuse-auth-users
apiVersion: v1
data:
users.txt: |-
<base64-encoded-value-from-above>
kind: Secret
metadata:
name: kfuse-auth-users
type: Opaque
-
Create a new kubernetes secret,
kfuse-auth-google.Use base64-encoded values for client id and client secret from
kfuse-auth-userssecret.To generate cookie secret, see the OAuth2 Proxy documentation for Generating a Cookie Secret.
Create kubernetes secret kfuse-auth-googleapiVersion: v1 data: client-id: <base 64 encoded google client id> client-secret: <base 64 encoded google client secret> cookie-secret: <base 64 encoded random value> kind: Secret metadata: name: kfuse-auth-google type: Opaqueyaml -
Include the two secrets in your
custom-values.yamlfile:Add secrets tocustom-values.yamlkfuse-auth: oauth2-proxy: config: existingSecret: "kfuse-auth-google" htpasswdFile: existingSecret: "kfuse-auth-users"yaml