Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit8b61ff3

Browse files
authored
fix: apply appropriate artifactory defaults for external auth (#11580)
1 parentf3d091f commit8b61ff3

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

‎coderd/externalauth/externalauth.go‎

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -531,6 +531,9 @@ func applyDefaultsToConfig(config *codersdk.ExternalAuthConfig) {
531531
casecodersdk.EnhancedExternalAuthProviderBitBucketServer:
532532
copyDefaultSettings(config,bitbucketServerDefaults(config))
533533
return
534+
casecodersdk.EnhancedExternalAuthProviderJFrog:
535+
copyDefaultSettings(config,jfrogArtifactoryDefaults(config))
536+
return
534537
default:
535538
// No defaults for this type. We still want to run this apply with
536539
// an empty set of defaults.
@@ -623,6 +626,44 @@ func bitbucketServerDefaults(config *codersdk.ExternalAuthConfig) codersdk.Exter
623626
returndefaults
624627
}
625628

629+
funcjfrogArtifactoryDefaults(config*codersdk.ExternalAuthConfig) codersdk.ExternalAuthConfig {
630+
defaults:= codersdk.ExternalAuthConfig{
631+
DisplayName:"JFrog Artifactory",
632+
Scopes: []string{"applied-permissions/user"},
633+
DisplayIcon:"/icon/jfrog.svg",
634+
}
635+
// Artifactory servers will have some base url, e.g. https://jfrog.coder.com.
636+
// We will grab this from the Auth URL. This choice is not arbitrary. It is a
637+
// static string for all integrations on the same artifactory.
638+
ifconfig.AuthURL=="" {
639+
// No auth url, means we cannot guess the urls.
640+
returndefaults
641+
}
642+
643+
auth,err:=url.Parse(config.AuthURL)
644+
iferr!=nil {
645+
// We need a valid URL to continue with.
646+
returndefaults
647+
}
648+
649+
ifconfig.ClientID=="" {
650+
returndefaults
651+
}
652+
653+
tokenURL:=auth.ResolveReference(&url.URL{Path:fmt.Sprintf("/access/api/v1/integrations/%s/token",config.ClientID)})
654+
defaults.TokenURL=tokenURL.String()
655+
656+
// validate needs to return a 200 when logged in and a 401 when unauthenticated.
657+
validate:=auth.ResolveReference(&url.URL{Path:"/access/api/v1/system/ping"})
658+
defaults.ValidateURL=validate.String()
659+
660+
// Some options omitted:
661+
// - Regex: Artifactory can span pretty much all domains (git, docker, etc).
662+
// I do not think we can intelligently guess this as a default.
663+
664+
returndefaults
665+
}
666+
626667
varstaticDefaults=map[codersdk.EnhancedExternalAuthProvider]codersdk.ExternalAuthConfig{
627668
codersdk.EnhancedExternalAuthProviderAzureDevops: {
628669
AuthURL:"https://app.vssps.visualstudio.com/oauth2/authorize",

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp