2019-06-05 18:59:04 +02:00
|
|
|
package providers
|
|
|
|
|
|
|
|
// 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
|
|
|
|
if p.EmailClaim == OIDCEmailClaim {
|
|
|
|
// 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
|
|
|
}
|