NewAuthHandler creates a new OAuth auth handler.
(cfg *Config, apiHost utils.APIHostResolver)
| 74 | |
| 75 | // NewAuthHandler creates a new OAuth auth handler. |
| 76 | func NewAuthHandler(cfg *Config, apiHost utils.APIHostResolver) (*AuthHandler, error) { |
| 77 | if cfg == nil { |
| 78 | cfg = &Config{} |
| 79 | } |
| 80 | |
| 81 | if apiHost == nil { |
| 82 | var err error |
| 83 | apiHost, err = utils.NewAPIHost("https://api.github.com") |
| 84 | if err != nil { |
| 85 | return nil, fmt.Errorf("failed to create default API host: %w", err) |
| 86 | } |
| 87 | } |
| 88 | |
| 89 | return &AuthHandler{ |
| 90 | cfg: cfg, |
| 91 | apiHost: apiHost, |
| 92 | }, nil |
| 93 | } |
| 94 | |
| 95 | // routePatterns defines the route patterns for OAuth protected resource metadata. |
| 96 | var routePatterns = []string{ |