I have an error with the linkedin credential:
Received following query parameters: {“error”:“unauthorized_scope_error”,“error_description”:“Scope "r_liteprofile" is not authorized for your application”,“state”:“eyJ0b2tlbiI6IlYxQ0tlS3g5LUtacnRLWDlqT3pzZVJ6Qi1FemxsbTVsb0IzRSIsImNpZCI6IndWZ290a2FjZjFvbWduV0gifQ==”}
I don’t understand because I add the requested products:
Just to add to this… You may also need to use the new marketing product type and go through the business verification process that LinkedIn has started to enforce.
Hello, I have the same problem on my LinkedIn, there is only the option “Sign In with LinkedIn using OpenID Connect”, and from what I researched on GitHub people were saying that LinkedIn discontinued "
Sign In with LinkedIn" and all new applications created there will be with OpenID, would it be possible to update n8n to support OpenID?
LinkedIn still support OAuth2 and have not removed support for it, The issue is that LinkedIn recently changed the scopes. We have a dev ticket open to update the scopes but we need to find a way to change them without breaking the credential for users that have the older LinkedIn API products in place.
@Jon I understand, I think a good way would be to create a new field on the credential confirmation page where it asks the user if they want to use the new one with OpendID or the old one, and in the migration the current ones are defined with the old version, and the new ones user chooses to choose the new one from the field, what do you think about this suggestion, could you send me the PR or Issue you mentioned I would love to take a look at the Dev maybe I can contribute something.
The authentication process itself is still exactly the same so it shouldn’t need a new credential the only change is in the oauth scopes that are sent. There is currently no PR for this just an internal linear ticket which has a reference of NODE-780.
But if we do that it will break for anyone using older LinkedIn apps, What we could really do with is a way to version credentials internally like we do with nodes so anyone adding a new credential would just get the new version but that would take more dev work and planning.
It could be that we end up using a dropdown box to toggle between the options or maybe LinkedIn supports optional scopes in which case we can just send all 4 and hopefully it would use whatever it wants.
@Jon
I saw that the “scope” is like a hidden input with a default value, right?
Why don’t we just let it be a string field and appear on the screen with a pre-defined value? and the person changes the way they want?
I did some tests here, and for it to work you really need to change the value. There is no way to leave the values from the old version and add the new ones, either the new ones or the old ones.
@Jon
I went a little deeper and even though I changed the scope by making the connection on LinkedIn, the credential part works well but the rest of the Node and the other functionalities don’t seem to work anymore, for example to load the “Person Name” the n8n cannot have permission maybe because the API has changed too or is it just permission?
During my testing I found that changing the scopes resolved the issue. Changing the field to a string field may not work as we don’t store the scopes in the database so when it comes to refresh it would in theory use the default values for the credential which will cause more issues.
Where it gets more tricky is you can’t have one application in LinkedIn that can do both posting as a user and as an organization so if you have org support with the community API you won’t be able to post as yourself or list the Person but if you use a default app type you can.
This is one of those issues where there is a potential quick fix but it needs to be thought about to see how it would impact other things.