mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-03 21:08:25 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			59 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright 2021 The Gitea Authors. All rights reserved.
 | 
						|
// SPDX-License-Identifier: MIT
 | 
						|
 | 
						|
package oauth2
 | 
						|
 | 
						|
import (
 | 
						|
	"html/template"
 | 
						|
 | 
						|
	"code.gitea.io/gitea/modules/log"
 | 
						|
	"code.gitea.io/gitea/modules/svg"
 | 
						|
)
 | 
						|
 | 
						|
// BaseProvider represents a common base for Provider
 | 
						|
type BaseProvider struct {
 | 
						|
	name        string
 | 
						|
	displayName string
 | 
						|
 | 
						|
	// TODO: maybe some providers also support SSH public keys, then they can set this to true
 | 
						|
	supportSSHPublicKey bool
 | 
						|
}
 | 
						|
 | 
						|
func (b *BaseProvider) SupportSSHPublicKey() bool {
 | 
						|
	return b.supportSSHPublicKey
 | 
						|
}
 | 
						|
 | 
						|
// Name provides the technical name for this provider
 | 
						|
func (b *BaseProvider) Name() string {
 | 
						|
	return b.name
 | 
						|
}
 | 
						|
 | 
						|
// DisplayName returns the friendly name for this provider
 | 
						|
func (b *BaseProvider) DisplayName() string {
 | 
						|
	return b.displayName
 | 
						|
}
 | 
						|
 | 
						|
// IconHTML returns icon HTML for this provider
 | 
						|
func (b *BaseProvider) IconHTML(size int) template.HTML {
 | 
						|
	svgName := "gitea-" + b.name
 | 
						|
	switch b.name {
 | 
						|
	case "gplus":
 | 
						|
		svgName = "gitea-google"
 | 
						|
	case "github":
 | 
						|
		svgName = "octicon-mark-github"
 | 
						|
	}
 | 
						|
	svgHTML := svg.RenderHTML(svgName, size, "tw-mr-2")
 | 
						|
	if svgHTML == "" {
 | 
						|
		log.Error("No SVG icon for oauth2 provider %q", b.name)
 | 
						|
		svgHTML = svg.RenderHTML("gitea-openid", size, "tw-mr-2")
 | 
						|
	}
 | 
						|
	return svgHTML
 | 
						|
}
 | 
						|
 | 
						|
// CustomURLSettings returns the custom url settings for this provider
 | 
						|
func (b *BaseProvider) CustomURLSettings() *CustomURLSettings {
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
var _ Provider = &BaseProvider{}
 |