this post was submitted on 22 Jun 2023
8 points (100.0% liked)

Programming

13345 readers
1 users here now

All things programming and coding related. Subcommunity of Technology.


This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

founded 1 year ago
MODERATORS
 

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.

you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 2 points 1 year ago* (last edited 1 year ago) (1 children)

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
[โ€“] [email protected] 2 points 1 year 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!