Merge branch 'bugfix/oauth2-param-name' into 'develop'
authorlambda <pleromagit@rogerbraun.net>
Thu, 14 Jun 2018 07:14:18 +0000 (07:14 +0000)
committerlambda <pleromagit@rogerbraun.net>
Thu, 14 Jun 2018 07:14:18 +0000 (07:14 +0000)
oauth: support either name or username parameter with grant_type=password

Closes #180

See merge request pleroma/pleroma!219

1  2 
lib/pleroma/web/oauth/oauth_controller.ex

index 47962bbf868cff4bc8635bfcb1f5b67427c003b9,cdfae8b6ae444e64fbcfe1fd119e97c278cf0247..a5fb32a4e774752c27537598f135470e71d59482
@@@ -81,10 -81,10 +81,10 @@@ defmodule Pleroma.Web.OAuth.OAuthContro
    # - investigate a way to verify the user wants to grant read/write/follow once scope handling is done
    def token_exchange(
          conn,
-         %{"grant_type" => "password", "name" => name, "password" => password} = params
+         %{"grant_type" => "password", "username" => name, "password" => password} = params
        ) do
      with %App{} = app <- get_app_from_request(conn, params),
 -         %User{} = user <- User.get_cached_by_nickname(name),
 +         %User{} = user <- User.get_by_nickname_or_email(name),
           true <- Pbkdf2.checkpw(password, user.password_hash),
           {:ok, auth} <- Authorization.create_authorization(app, user),
           {:ok, token} <- Token.exchange_token(app, auth) do