fix: don't error on invalid i18n tags in discovery (#407)
* reproduce #406 * fix: don't error on invalid i18n tags in discovery This changes the use of `[]language.Tag` to `oidc.Locales` in `DiscoveryConfig`. This should be compatible with callers that use the `[]language.Tag` . Locales now implements the `json.Unmarshaler` interface. With support for json arrays or space seperated strings. The latter because `UnmarshalText` might have been implicetely called by the json library before we added UnmarshalJSON. Fixes: #406
This commit is contained in:
parent
77436a2ce7
commit
d01a5c8f91
4 changed files with 185 additions and 9 deletions
|
@ -1,9 +1,5 @@
|
|||
package oidc
|
||||
|
||||
import (
|
||||
"golang.org/x/text/language"
|
||||
)
|
||||
|
||||
const (
|
||||
DiscoveryEndpoint = "/.well-known/openid-configuration"
|
||||
)
|
||||
|
@ -130,10 +126,10 @@ type DiscoveryConfiguration struct {
|
|||
ServiceDocumentation string `json:"service_documentation,omitempty"`
|
||||
|
||||
// ClaimsLocalesSupported contains a list of BCP47 language tag values that the OP supports for values of Claims returned.
|
||||
ClaimsLocalesSupported []language.Tag `json:"claims_locales_supported,omitempty"`
|
||||
ClaimsLocalesSupported Locales `json:"claims_locales_supported,omitempty"`
|
||||
|
||||
// UILocalesSupported contains a list of BCP47 language tag values that the OP supports for the user interface.
|
||||
UILocalesSupported []language.Tag `json:"ui_locales_supported,omitempty"`
|
||||
UILocalesSupported Locales `json:"ui_locales_supported,omitempty"`
|
||||
|
||||
// RequestParameterSupported specifies whether the OP supports use of the `request` parameter. If omitted, the default value is false.
|
||||
RequestParameterSupported bool `json:"request_parameter_supported,omitempty"`
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue