Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions commands/login.go
Original file line number Diff line number Diff line change
Expand Up @@ -352,6 +352,11 @@ func (l *LoginCmd) determineProvider() (providers.OpenIdProvider, *choosers.WebC
return nil, nil, fmt.Errorf("error parsing provider argument: %w", err)
}

if l.RemoteRedirectURI != "" {
// Override the remote redirect URI
providerConfig.RemoteRedirectURI = l.RemoteRedirectURI
}
Comment thread
EthanHeilman marked this conversation as resolved.

if provider, err = providerConfig.ToProvider(openBrowser); err != nil {
return nil, nil, fmt.Errorf("error creating provider from config: %w", err)
} else {
Expand Down
9 changes: 9 additions & 0 deletions commands/login_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -356,6 +356,15 @@ func TestDetermineProvider(t *testing.T) {
wantIssuer: providerIssuer3,
wantError: false,
},
{
name: "Good path remoteRedirectURI set (when provider Alias specified)",
Comment thread
EthanHeilman marked this conversation as resolved.
Outdated
envVars: map[string]string{"OPKSSH_DEFAULT": providerAlias3, "OPKSSH_PROVIDERS": allProvidersStr},
providerArg: providerArg2,
providerAlias: "",
remoteRedirectURI: "https://example.com/login_callback",
wantIssuer: providerIssuer2,
wantError: false,
},
}

for _, tt := range tests {
Expand Down
Loading