2019-06-05 18:59:04 +02:00
|
|
|
package providers
|
|
|
|
|
2022-02-15 11:18:32 +00:00
|
|
|
import "github.com/oauth2-proxy/oauth2-proxy/v7/pkg/apis/options"
|
|
|
|
|
2019-06-05 18:59:04 +02:00
|
|
|
// NextcloudProvider represents an Nextcloud based Identity Provider
|
|
|
|
type NextcloudProvider struct {
|
|
|
|
*ProviderData
|
|
|
|
}
|
|
|
|
|
2020-05-06 00:53:33 +09:00
|
|
|
var _ Provider = (*NextcloudProvider)(nil)
|
|
|
|
|
2020-05-25 13:08:04 +01:00
|
|
|
const nextCloudProviderName = "Nextcloud"
|
|
|
|
|
2019-06-05 18:59:04 +02:00
|
|
|
// NewNextcloudProvider initiates a new NextcloudProvider
|
|
|
|
func NewNextcloudProvider(p *ProviderData) *NextcloudProvider {
|
2020-05-25 13:08:04 +01:00
|
|
|
p.ProviderName = nextCloudProviderName
|
2021-06-26 11:49:08 +01:00
|
|
|
p.getAuthorizationHeaderFunc = makeOIDCHeader
|
2022-02-15 11:18:32 +00:00
|
|
|
if p.EmailClaim == options.OIDCEmailClaim {
|
2021-06-26 11:49:08 +01:00
|
|
|
// This implies the email claim has not been overridden, we should set a default
|
|
|
|
// for this provider
|
|
|
|
p.EmailClaim = "ocs.data.email"
|
2019-06-05 18:59:04 +02:00
|
|
|
}
|
2021-06-26 11:49:08 +01:00
|
|
|
return &NextcloudProvider{ProviderData: p}
|
2019-06-05 18:59:04 +02:00
|
|
|
}
|