58 lines
1.0 KiB
Go
58 lines
1.0 KiB
Go
package oauth
|
|
|
|
import (
|
|
"gopkg.in/oauth2.v3"
|
|
"openmediacenter/apiGo/database/settings"
|
|
)
|
|
|
|
type CustomClientStore struct {
|
|
oauth2.ClientStore
|
|
}
|
|
|
|
type CustomClientInfo struct {
|
|
oauth2.ClientInfo
|
|
ID string
|
|
Secret string
|
|
Domain string
|
|
UserID string
|
|
}
|
|
|
|
func NewCustomStore() oauth2.ClientStore {
|
|
s := new(CustomClientStore)
|
|
return s
|
|
}
|
|
|
|
func (a *CustomClientStore) GetByID(id string) (oauth2.ClientInfo, error) {
|
|
password := settings.GetPassword()
|
|
// if password not set assign default password
|
|
if password == nil {
|
|
defaultpassword := "openmediacenter"
|
|
password = &defaultpassword
|
|
}
|
|
|
|
clientinfo := CustomClientInfo{
|
|
ID: "openmediacenter",
|
|
Secret: *password,
|
|
Domain: "http://localhost:8081",
|
|
UserID: "openmediacenter",
|
|
}
|
|
|
|
return &clientinfo, nil
|
|
}
|
|
|
|
func (a *CustomClientInfo) GetID() string {
|
|
return a.ID
|
|
}
|
|
|
|
func (a *CustomClientInfo) GetSecret() string {
|
|
return a.Secret
|
|
}
|
|
|
|
func (a *CustomClientInfo) GetDomain() string {
|
|
return a.Domain
|
|
}
|
|
|
|
func (a *CustomClientInfo) GetUserID() string {
|
|
return a.UserID
|
|
}
|