API Connector not connecting anymore

"The user profile endpoint did not return an ID for the user. Please check the endpoint’s documentation and the User ID key path (beware the identation). "

Specifically for connecting to Asana Oath2. I wonder is it after introducing the gid instead of id. [Integer to String ID conversion]

It was working before, no problems. This message just started being the response although you can see all data

@levon Is your Asana plugin still working

I have changed the “User ID key path” to “id_token” instead of “id” in the plugin editor and it Authenticates. However it gives the same when using the plugin in an app “The user profile endpoint did not return an ID for the user”

Old User ID Key path before it broke

After changing the User ID Key path to “id_token” it authenticates

When using the Asana plugin in an app

Our Asana plugin is supposed to be working but it’s not an Oauth version. it allows you to connect to only one Asana account (your own one)

Thanks Levon for the reply. The api just seems not to connect anymore, although works in Postman & Integromat with no changes in any keys. And surprisingly it authenticates in the bubble plug-in editor. So either I’m missing something in bubble or it’s a bug.

I can see another user having the same problem in Slack integration.

Have just had the same error with another Oauth connection, so I wonder if something has changed.

Slack is having some sort of issue too… my slack integration is kind of a big deal for my app… is there any chance this could be sorted out? Pretty Please!!! :smile:

As with the slack issue, this error is thrown when there is no field found with the name of the user id key path.

You could try with gid instead if id (although both should be there).

But I wonder if the issue is with scope. As you have no scope, it may not be returning an id. If you added “openid profile email” without the quotes to the scope that may help ?

Tried the openid as scope and many other scopes, all did not work.

The only thing that worked is when I changed the “id” field to id_token, but that still only works in the plugin editor and authenticates but does not work as a plugin in the app.

The id_token is probably the JWT, so it does at least exist in the response.

It looks like from the API docs that you can get mutiple ids back, so I wonder if it is that ?

Maybe…

I have a feeling the API Connector plugin has the fields “id” and “email” fixed and they do not respond to edit/changes.

Yes, you could copy the values from that plugin and make some changes.

The Asana Plugin I created works in the plugin editor and connects successfully when the User ID key path is set to "id_token: as below:

However when using it in a bubble app, I still get the message below:

Is there anyway to create the User ID key path manually and ignore the one in the API connector or does that mean I have to do it all as none- self handled.

The Plugin has 275 users, I wonder what happened to them.

OK, this works.

“Data” exists only once … whereas id and gid is in an array.

image

So in fact you can’t use either id or gid for the Bubble User Id, as it varies by workspace.

Not convinced Openid in scope does a lot !

1 Like

Nigel you are great. “Data” does work :grinning:

Regarding scope from Asana: default Provides access to all endpoints documented in our API reference. If no scopes are requested, this scope is assumed by default.

id & gid: if you are using an SQL table, you will want to change from a type like BIGINT to a type like VARCHAR .id will be stopped starting next year as gid can have letters.

Again thanks a lot. Never thought of inserting the field “data”

I think you will still have a problem though.

“Data” in the field is indeed unique, but is liable to change. So if the user has another workspace (and thus a second gid/id) added then my worry would be that Bubble would see them as another user.

So I think what is happening is that having got the token, Bubble does a call to your “User Profile Endpoint” to find both an “Id” and “Email”. It does these by trying to read the names from the two fields you have entered out of the response to the user endpoint.

If they don’t exist, then it throws that error. Since gid and id do exist, it must be that it doesn’t like them being in an array.

May be worth asking Asana if there is another endpoint that will give you a consistent id that isn’t in an array ?

Alternatively maybe @emmanuel can advise if there is any way to navigate the JSON response, or does it only look for the key value ?

Works perfect. Thanks

I’m just here to say THANKS to Nigel, who after reading this thread, encouraged me to go back to the documentation and figure this out for me. Issue was in the User ID Key Path field and it not being the proper value.

Thank you so much to @NigelG for this incredible solution!!! This solves many problems I’ve had across different OAuth2 flows now.