Skip to content

Commit f0e3ec8

Browse files
ikawalecmbilski
andauthored
Request acr_values for authorization flow (#73)
Co-authored-by: Mateusz Bilski <[email protected]>
1 parent 5e36210 commit f0e3ec8

File tree

4 files changed

+11
-0
lines changed

4 files changed

+11
-0
lines changed

cmd/log.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ func LogInputData(cc oauth2.ClientConfig) {
9292
{"Grant type", cc.GrantType},
9393
{"Auth method", cc.AuthMethod},
9494
{"Scopes", strings.Join(cc.Scopes, ", ")},
95+
{"ACR Values", strings.Join(cc.ACRValues, ", ")},
9596
{"Audience", strings.Join(cc.Audience, ", ")},
9697
{"Response types", strings.Join(cc.ResponseType, ", ")},
9798
{"Response mode", cc.ResponseMode},

cmd/oauth2.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ func NewOAuth2Cmd() (cmd *OAuth2Cmd) {
7777
cmd.PersistentFlags().BoolVar(&cconfig.DPoP, "dpop", false, "use DPoP")
7878
cmd.PersistentFlags().StringVar(&cconfig.Claims, "claims", "", "use claims")
7979
cmd.PersistentFlags().StringVar(&cconfig.RAR, "rar", "", "use rich authorization request (RAR)")
80+
cmd.PersistentFlags().StringSliceVar(&cconfig.ACRValues, "acr-values", []string{}, "ACR values")
8081

8182
return cmd
8283
}

internal/oauth2/oauth2.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ type ClientConfig struct {
6060
ClientID string
6161
ClientSecret string
6262
Scopes []string
63+
ACRValues []string
6364
Audience []string
6465
AuthMethod string
6566
PKCE bool

internal/oauth2/request.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ func (r *Request) AuthorizeRequest(
4949
r.Form.Set("scope", strings.Join(cconfig.Scopes, " "))
5050
}
5151

52+
if len(cconfig.ACRValues) > 0 {
53+
r.Form.Set("acr_values", strings.Join(cconfig.ACRValues, " "))
54+
}
55+
5256
if len(cconfig.Audience) > 0 {
5357
r.Form.Set("audience", strings.Join(cconfig.Audience, " "))
5458
}
@@ -121,6 +125,10 @@ func (r *Request) AuthorizeRequest(
121125
r.Form.Set("scope", strings.Join(cconfig.Scopes, " "))
122126
}
123127

128+
if len(cconfig.ACRValues) > 0 {
129+
r.Form.Set("acr_values", strings.Join(cconfig.ACRValues, " "))
130+
}
131+
124132
if len(cconfig.Audience) > 0 {
125133
r.Form.Set("audience", strings.Join(cconfig.Audience, " "))
126134
}

0 commit comments

Comments
 (0)