Skip to content

Commit

Permalink
feat: refactor resource owner password grant (#1443)
Browse files Browse the repository at this point in the history
## What kind of change does this PR introduce?

Was passing through the code and found that a re-ordering was slightly
easier to read for me. Let me know your thoughts

---------

Co-authored-by: joel <[email protected]>
  • Loading branch information
J0 and joel authored Mar 4, 2024
1 parent 656474e commit e63ad6f
Showing 1 changed file with 15 additions and 13 deletions.
28 changes: 15 additions & 13 deletions internal/api/token.go
Original file line number Diff line number Diff line change
Expand Up @@ -117,27 +117,29 @@ func (a *API) ResourceOwnerPasswordGrant(ctx context.Context, w http.ResponseWri

grantParams.FillGrantParams(r)

if params.Email != "" {
switch {
case params.Email != "" && config.External.Email.Enabled:
provider = "email"
if !config.External.Email.Enabled {
return badRequestError("Email logins are disabled")
}
user, err = models.FindUserByEmailAndAudience(db, params.Email, aud)
} else if params.Phone != "" {

case params.Phone != "" && config.External.Phone.Enabled:
provider = "phone"
if !config.External.Phone.Enabled {
return badRequestError("Phone logins are disabled")
}
params.Phone = formatPhoneNumber(params.Phone)
user, err = models.FindUserByPhoneAndAudience(db, params.Phone, aud)
} else {

case !config.External.Email.Enabled:
return badRequestError("Email logins are disabled")

case !config.External.Phone.Enabled:
return badRequestError("Phone logins are disabled")

default:
return oauthError("invalid_grant", InvalidLoginMessage)
}

if err != nil {
if models.IsNotFoundError(err) {
return oauthError("invalid_grant", InvalidLoginMessage)
}
if err != nil && models.IsNotFoundError(err) {
return oauthError("invalid_grant", InvalidLoginMessage)
} else if err != nil {
return internalServerError("Database error querying schema").WithInternalError(err)
}

Expand Down

0 comments on commit e63ad6f

Please sign in to comment.