mirror of
https://github.com/davidallendj/opaal.git
synced 2025-12-20 03:27:02 -07:00
38 lines
955 B
Go
38 lines
955 B
Go
package oidc
|
|
|
|
import "fmt"
|
|
|
|
type OpenIDConnectProvider struct {
|
|
Host string
|
|
Port int
|
|
AuthorizeEndpoint string
|
|
TokenEndpoint string
|
|
ConfigEndpoint string
|
|
}
|
|
|
|
func NewOIDCProvider() *OpenIDConnectProvider {
|
|
return &OpenIDConnectProvider{
|
|
Host: "127.0.0.1",
|
|
Port: 80,
|
|
AuthorizeEndpoint: "/oauth/authorize",
|
|
TokenEndpoint: "/oauth/token",
|
|
}
|
|
}
|
|
|
|
func (oidc *OpenIDConnectProvider) GetAuthorizeUrl() string {
|
|
if oidc.Port != 80 {
|
|
return fmt.Sprintf("%s:%d", oidc.Host, oidc.Port) + oidc.AuthorizeEndpoint
|
|
}
|
|
return oidc.Host + oidc.AuthorizeEndpoint
|
|
}
|
|
|
|
func (oidc *OpenIDConnectProvider) GetTokenUrl() string {
|
|
if oidc.Port != 80 {
|
|
return fmt.Sprintf("%s:%d", oidc.Host, oidc.Port) + oidc.TokenEndpoint
|
|
}
|
|
return oidc.Host + oidc.TokenEndpoint
|
|
}
|
|
|
|
func (oidc *OpenIDConnectProvider) FetchServerConfiguration(url string) {
|
|
// make a request to a server's openid-configuration
|
|
}
|