Fix assume SAML required error redirect
Signed-off-by: Émile Ré <emile@getprobo.com>
This commit is contained in:
@@ -339,12 +339,11 @@ func (e *ErrPasswordRequired) Error() string {
|
||||
}
|
||||
|
||||
type ErrSAMLAuthenticationRequired struct {
|
||||
Reason string
|
||||
RedirectURL string
|
||||
Reason string
|
||||
}
|
||||
|
||||
func NewSAMLAuthenticationRequiredError(reason string, redirectURL string) *ErrSAMLAuthenticationRequired {
|
||||
return &ErrSAMLAuthenticationRequired{Reason: reason, RedirectURL: redirectURL}
|
||||
func NewSAMLAuthenticationRequiredError(reason string) *ErrSAMLAuthenticationRequired {
|
||||
return &ErrSAMLAuthenticationRequired{Reason: reason}
|
||||
}
|
||||
|
||||
func (e *ErrSAMLAuthenticationRequired) Error() string {
|
||||
|
||||
@@ -1301,7 +1301,8 @@ func (s OrganizationService) DeleteSAMLConfiguration(
|
||||
|
||||
func (s OrganizationService) ListSAMLConfigurations(
|
||||
ctx context.Context,
|
||||
organizationID gid.GID, cursor *page.Cursor[coredata.SAMLConfigurationOrderField],
|
||||
organizationID gid.GID,
|
||||
cursor *page.Cursor[coredata.SAMLConfigurationOrderField],
|
||||
) (*page.Page[*coredata.SAMLConfiguration, coredata.SAMLConfigurationOrderField], error) {
|
||||
var (
|
||||
scope = coredata.NewScopeFromObjectID(organizationID)
|
||||
|
||||
@@ -549,12 +549,7 @@ func (s SessionService) AssumeOrganizationSession(
|
||||
|
||||
if err == nil && samlConfig.EnforcementPolicy == coredata.SAMLEnforcementPolicyRequired {
|
||||
if rootSession.AuthMethod != coredata.AuthMethodSAML {
|
||||
redirectURL, err := s.SAMLService.InitiateLogin(ctx, samlConfig.ID, continueURL)
|
||||
if err != nil {
|
||||
return fmt.Errorf("cannot initiate SAML login: %w", err)
|
||||
}
|
||||
|
||||
return NewSAMLAuthenticationRequiredError("policy_requirement", redirectURL.String())
|
||||
return NewSAMLAuthenticationRequiredError("policy_requirement")
|
||||
}
|
||||
} else if err == nil && samlConfig.EnforcementPolicy == coredata.SAMLEnforcementPolicyOptional {
|
||||
// SAML is optional: both PASSWORD and SAML root sessions are allowed.
|
||||
|
||||
Reference in New Issue
Block a user