I’m working on an macOS client app and was curious what was needed to authorize/login a user to get a token for the auth header?

The lemmy documentation for login doesn’t seem to work (sends 400 response back) and it also doesn’t seem to work with oauth?

I got oauth working for mastodon but those same endpoint calls don’t seem to work for lemmy.

  • nmtake@lemm.ee
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    2 years ago

    It seems OAuth2 hasn’t implemented yet. At this time, to get auth value, username and password are required:

    # Python
    url = 'https://<instance_name>/user/login'
    data = {'username_or_email': username_or_email,
            'password': password}
    response = requests.post(url, json=data)
    json = response.json()
    auth = json['jwt']
    

    Since the endpoint recieves JSON then returns JSON, you may need to send following HTTP headers explicitly:

    Content-Type: application/json
    Accept: application/json
    
    • evilviper@beehaw.orgOP
      link
      fedilink
      arrow-up
      2
      ·
      2 years ago

      Looking at the lemmy documentation I assumed they wanted form data and sent that along with application/x-www-form-urlencoded for the Content-Type.

      As you mention what they actually want is JSON and application/json Content-Type.

      Thanks for the info!