| 673 | } |
| 674 | |
| 675 | func SetURLQueryParam(strURL, name, value string) (string, error) { |
| 676 | if strURL == "" || name == "" || value == "" { |
| 677 | return "", ErrSetURLQueryParam |
| 678 | } |
| 679 | uri, err := url.Parse(strURL) |
| 680 | if err != nil { |
| 681 | return "", err |
| 682 | } |
| 683 | rawQuery, err := url.ParseQuery(uri.RawQuery) |
| 684 | if err != nil { |
| 685 | return "", err |
| 686 | } |
| 687 | rawQuery.Set(name, value) |
| 688 | uri.RawQuery = rawQuery.Encode() |
| 689 | return uri.String(), nil |
| 690 | } |
| 691 | |
| 692 | // startDiscoverySync starts the provider metadata discovery sync task in background. |
| 693 | func (op *OIDCProvider) startDiscoverySync(ctx context.Context, discoveryURL string) error { |