pipedream
pipedream copied to clipboard
FranConnect
App
FranConnect https://docs.franconnect.net/#tag/Authorization-Code
We wish there were a generic OAuth2 flow for the Client Credentials grant type, as described in #2917. Then we could execute at our own speed and not have to bother anyone at Pipedream.
And we could even contribute the result of our work back to the community, using our known good custom client as a starting point for a FranConnect-specific connector.
Thanks for submitting the request, @tomngo, totally agree! In the interim, for FranConnect, did you specifically want to see a client credentials integration, and not authorization code?
Yes, please! we do want a client-credentials integration.
Yes, please! we do want a client-credentials integration.
Can you create an OAuth client for FranConnect, then try to connect your account with it?
I don't have an OAuth client to test with, so I'm not able to test end to end on my side. Let me know if you run in to any issues.
Thank you, and I'm sorry to have missed this response! Our team will test in the morning.
hi @dannyroosevelt !
I'm one of @tomngo 's team members.
Tried out the new FranConnect app and haven't been able to connect an account to it yet. We've created two custom OAuth clients for two different client id / client secret pairs:
but in both cases when we try to connect an account to them, after the step where we put in the Tenant ID, we get the following error message:
The client id / client secret / tenant id sets I'm using are known-good, cause I can "manually" (i.e. using postman) negotiate a token using them.
The mapping from client id to tenant id for these clients is:
- client id:
FRANC0NN3CT_API, tenant id:developers.franconnectdemo.net - client id:
batteriesplusllcLuminprod, tenant id:batteriesplusllc.franconnect.net
After the error message appeared, a pop-up form appeared asking why I wasn't able to connect my account; I filled out a couple of them and mentioned batteriesplusllc.franconnect.net both times, if that's useful to cross-reference in your logs. :)
@mosbasik thanks so much for the info -- can you show me the Postman setup? It sounds like it's probably a configuration issue on our end.
no problem @dannyroosevelt - here's a curl command that gets an access token for me:
curl --location 'https://auth.franconnectuat.net/userauth/oauth/token?X-TenantID=developers.franconnectdemo.net' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic {REDACTED}' \
--data-urlencode 'grant_type=client_credentials'
The {REDACTED} bit is the standard "string obtained by taking the base64 of the string {CLIENT_ID}:{CLIENT_SECRET}".
Ensuring that the body contains grant_type=client_credentials in the format x-www-form-urlencoded seems to be essential; if I change or remove those, the request stops succeeding.
Also I believe the auth URL will need to be configured separately, as it can't be derived from the Tenant ID and there isn't just a single one - the one I showed in the above curl command seems to be shared by "testing" FC deployments, but there's a different one that I think is used in "production" FC deployments: https://auth.franconnect.net/userauth/oauth/token.
Thanks a lot for the example and info -- can you try again? I made some changes to the configuration.
@mosbasik I see that you're still running into issues, sorry about that -- I just invited you to a Slack Connect channel so we can hopefully discuss and debug more quickly.
Closing this one as this seems integrated: https://pipedream.com/apps/franconnect also I'm doing a clean up because the "Apps & Integrations" project at GitHub is full if this needs to be reopened feel free to do so