mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-06-04 11:25:52 +08:00

* [feat] initial version for google oauth * chore: arranged the sso packages and added prepare request for google auth * feat: added google auth config page and backend to handle the request * chore: code cleanup for domain SSO parsing * Update constants.go * chore: moved redirect sso error * chore: lint issue fixed with domain * chore: added tooltip for enforce sso and few changes to auth domain * chore: moved question mark in enforce sso * fix: resolved pr review comments * chore: fixed type check for saml config * fix: fixed saml config form * chore: added util for transformed form values to samlconfig Co-authored-by: mindhash <mindhash@mindhashs-MacBook-Pro.local> Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com> Co-authored-by: Ankit Nayan <ankit@signoz.io>
32 lines
1.0 KiB
Go
32 lines
1.0 KiB
Go
package sso
|
|
|
|
import (
|
|
"net/http"
|
|
)
|
|
|
|
// SSOIdentity contains details of user received from SSO provider
|
|
type SSOIdentity struct {
|
|
UserID string
|
|
Username string
|
|
PreferredUsername string
|
|
Email string
|
|
EmailVerified bool
|
|
ConnectorData []byte
|
|
}
|
|
|
|
// OAuthCallbackProvider is an interface implemented by connectors which use an OAuth
|
|
// style redirect flow to determine user information.
|
|
type OAuthCallbackProvider interface {
|
|
// The initial URL user would be redirect to.
|
|
// OAuth2 implementations support various scopes but we only need profile and user as
|
|
// the roles are still being managed in SigNoz.
|
|
BuildAuthURL(state string) (string, error)
|
|
|
|
// Handle the callback to the server (after login at oauth provider site)
|
|
// and return a email identity.
|
|
// At the moment we dont support auto signup flow (based on domain), so
|
|
// the full identity (including name, group etc) is not required outside of the
|
|
// connector
|
|
HandleCallback(r *http.Request) (identity *SSOIdentity, err error)
|
|
}
|