Merge pull request #593 from ericchiang/dev-expose-skip-approval
dev branch: expose skip approval screen option
This commit is contained in:
		| @@ -72,6 +72,9 @@ func (p password) toPassword() (storage.Password, error) { | |||||||
| // OAuth2 describes enabled OAuth2 extensions. | // OAuth2 describes enabled OAuth2 extensions. | ||||||
| type OAuth2 struct { | type OAuth2 struct { | ||||||
| 	ResponseTypes []string `yaml:"responseTypes"` | 	ResponseTypes []string `yaml:"responseTypes"` | ||||||
|  | 	// If specified, do not prompt the user to approve client authorization. The | ||||||
|  | 	// act of logging in implies authorization. | ||||||
|  | 	SkipApprovalScreen bool `yaml:"skipApprovalScreen"` | ||||||
| } | } | ||||||
|  |  | ||||||
| // Web is the config format for the HTTP server. | // Web is the config format for the HTTP server. | ||||||
|   | |||||||
| @@ -116,6 +116,7 @@ func serve(cmd *cobra.Command, args []string) error { | |||||||
|  |  | ||||||
| 	serverConfig := server.Config{ | 	serverConfig := server.Config{ | ||||||
| 		SupportedResponseTypes: c.OAuth2.ResponseTypes, | 		SupportedResponseTypes: c.OAuth2.ResponseTypes, | ||||||
|  | 		SkipApprovalScreen:     c.OAuth2.SkipApprovalScreen, | ||||||
| 		Issuer:                 c.Issuer, | 		Issuer:                 c.Issuer, | ||||||
| 		Connectors:             connectors, | 		Connectors:             connectors, | ||||||
| 		Storage:                s, | 		Storage:                s, | ||||||
|   | |||||||
| @@ -41,6 +41,10 @@ type Config struct { | |||||||
| 	// flow. If no response types are supplied this value defaults to "code". | 	// flow. If no response types are supplied this value defaults to "code". | ||||||
| 	SupportedResponseTypes []string | 	SupportedResponseTypes []string | ||||||
|  |  | ||||||
|  | 	// If enabled, the server won't prompt the user to approve authorization requests. | ||||||
|  | 	// Logging in implies approval. | ||||||
|  | 	SkipApprovalScreen bool | ||||||
|  |  | ||||||
| 	RotateKeysAfter  time.Duration // Defaults to 6 hours. | 	RotateKeysAfter  time.Duration // Defaults to 6 hours. | ||||||
| 	IDTokensValidFor time.Duration // Defaults to 24 hours | 	IDTokensValidFor time.Duration // Defaults to 24 hours | ||||||
|  |  | ||||||
| @@ -73,7 +77,6 @@ type Server struct { | |||||||
| 	templates *templates | 	templates *templates | ||||||
|  |  | ||||||
| 	// If enabled, don't prompt user for approval after logging in through connector. | 	// If enabled, don't prompt user for approval after logging in through connector. | ||||||
| 	// No package level API to set this, only used in tests. |  | ||||||
| 	skipApproval bool | 	skipApproval bool | ||||||
|  |  | ||||||
| 	supportedResponseTypes map[string]bool | 	supportedResponseTypes map[string]bool | ||||||
| @@ -145,6 +148,7 @@ func newServer(c Config, rotationStrategy rotationStrategy) (*Server, error) { | |||||||
| 		), | 		), | ||||||
| 		supportedResponseTypes: supported, | 		supportedResponseTypes: supported, | ||||||
| 		idTokensValidFor:       value(c.IDTokensValidFor, 24*time.Hour), | 		idTokensValidFor:       value(c.IDTokensValidFor, 24*time.Hour), | ||||||
|  | 		skipApproval:           c.SkipApprovalScreen, | ||||||
| 		now:                    now, | 		now:                    now, | ||||||
| 		templates:              tmpls, | 		templates:              tmpls, | ||||||
| 	} | 	} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user