app password fail
Asked by Miao Miao Li:

I created an app password in bitbucket, and then called the app password. I used http basic authentication to call the rest api of bitbucket, and it kept returning unauthenticated.


Answers:
author: Miao Miao Li
body: I have solved it, just remove the request body, a strange error message


author: Miao Miao Li
body: I can use the same account to correctly access the api I just posted after logging in to bitbucket in the browser


author: Theodora Boudale
body: Hi [@Miao Miao Li](/t5/user/viewprofilepage/user-id/4300545) ,

When you create an app password, you select specific permissions for it. One possibility is that the app password does not have enough permissions for the endpoint you are using. E.g. if you're trying to read pull requests via API and the app password does not have permissions to read pull requests, then the request will fail.

Since it is not possible to view the permissions of an existing app password, I would suggest creating a new one, double check that it has appropriate permissions for the API endpoint(s) you want to use, and then make a new call with the new app password and see if it works.

If you're still having issues, please let me know:  

**1.** the exact API call you are making   
(please feel free to replace the actual workspace-id and the repo name in the URL when you paste it here, with something like \<workspace-id\> and \<repo-name\>)  

**2.** what is the exact response you are receiving when you make the call

so I can better help you.

Kind regards,  
Theodora

comments: author: Miao Miao Li
body: When I generated the app password, I checked all the permissions. When I call the api, it still returns 401. The api I called is this <https://api.bitbucket.org/2.0/repositories/ncs-nxp?page=1>


author: Miao Miao Li
body: I tried to replace ncs-nxp with workspace-id, but it still doesn't work


author: Miao Miao Li
body: ```
header.put("Content-Type","application/json");
String auth="email:apppassword";
header.put("Authorization","Basic "+base64(auth));
```

This is the code I used for authorization


author: Miao Miao Li
body: [@Theodora Boudale](/t5/user/viewprofilepage/user-id/818086) hello?Can you help me? I tried replacing the email address with user_name in Bitbucket profile settings, and the result will become 403 (http status)


author: Theodora Boudale
body: Hi [@Miao Miao Li](/t5/user/viewprofilepage/user-id/4300545) ,

For API calls the Bitbucket username should be used, instead of the email. The email is only used for logging in to Bitbucket website. For operations like cloning/pulling/pushing via HTTPS and also for API calls, the username should be used instead.

You mentioned that you solved this by removing the request body, I'm glad you managed to figure this out.

I am not sure though what request body you were using? An API call to retrieve a workspace's repos doesn't require you to send additional data with a request body.

Kind regards,  
Theodora


author: Miao Miao Li
body: Just some test data, forgot to remove it. Well, the username must be the username in the account settings, not the login email address


author: Miao Miao Li
body: There is an inaccurate record of the last access time on the app password, it is often not updated. If that is accurate, maybe I can find some problems earlier.


Tags: bitbucket-cloud

cloud