forked from mystiq/dex
Merge pull request #593 from ericchiang/dev-expose-skip-approval
dev branch: expose skip approval screen option
This commit is contained in:
commit
8518c30123
3 changed files with 9 additions and 1 deletions
|
@ -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,
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue