Invalid Credentials

I am new to trying to use the SKY API…..and am beyond frustrated with how nearly impossible it has been to get anything to work.

I have read the docs (hate them) and tried to look at the code samples but they are difficult to process, seen many github libraries etc and am currently just trying to use postman to get an access token….but having loads of trouble.

I am connected to the SKY Developer Cohort - SKY Developer Cohort Environment 1

For reference, I followed instructions here:

https://www.re-decoded.com/2020/11/sky-api-and-postman/

and of course put in my ClientID and Client_Secret etc which was taken from MyApp page. The callback uri is working, it just fails with this frustratingly stupid error.

Here is how postman looks:

ce189f92ba1e7d5879b20144a2f85598-huge-im
f1dd979befd363e63abfd2263c4ed64e-huge-im

When I try to Get a New Access Token from Postman,

I am first asked to login using my BBaud credentials (which I did)

Then I get the authorization screen (so far so good)

a8549031595aa8eb0f92f09da4cb2251-huge-im

and when I click the authorize button I get the redirected to the appropriate callback that postman uses ( https://oauth.pstmn.io/v1/callback ) which gives me this result:

a3b0b302da85505bff2b5ee699ef41df-huge-im
Result I get in Postman
d1f27d7fa7d81dfc6457ac100b3dc781-huge-im
Part of Console output that shows the error

I don't understand how my credentials could be wrong if they were able to log me in, and get a code in order to try and get a token……so something silly is likely the issue, I just don't have a clue as to what it is.

Comments

  • @Paul Hermans I am pleased that my article was of some help but clearly did not work for you entirely. Just a word of warning. I wrote it over three years ago and while I don't think anything has changed with authentication since then I cannot discount that fact

    Have you checked the console log to ensure that Postman is definitely adding the correct client id and secret from your variables?

    I cannot see anything wrong with what you have done to be honest.

  • @David Zeidman, Thanks so much for responding! I did see that it wasn't new, but it seemed to make sense with what I have read about the authentication flow so i made leaps forward using it.

    I did verify the client_id and secret were being sent correctly, and it confuses me b/c I am able to login to the cohort environment using my credentials, and it has clearly been connected to my app, I just can't seem to get a token.

    I will continue to burn hours trying to figure it out, and report back if I find a logical error in what I was doing etc.

    Thanks again!

  • @Paul Hermans

    Did you double check to make sure you added Postman's callback URI to your Blackbaud app's list of redirect URIs?

    I can't test out the method you are using since we login with SSO and my org blocks sign-ins from most apps, including Postman. So I have to use the Authorize Using Browser option. I was able to get a token using that method, though.

    You might check out this video for another approach to making SKY calls in Postman. The relevant section starts around the 26-minute mark.

    Integrate with SKY API - YouTube

  • Stephen Boyle
    Stephen Boyle Blackbaud Employee
    Tenth Anniversary Kudos 5 Name Dropper Participant

    @Paul Hermans
    I am sorry that you had such trouble with the process. I have looked into the issue and determined the problem was one of timing.

    For education environments, there is still a manual step in our process of onboarding new users to the SKY Developers Cohort environment for SKY API access. This does leave the user in a state where they are completely authorized to log in to the product, while not having everything needed for API calls.

    The required step to add that permission was completed by the time I looked into it, so you shouldn't be experiencing the access issues now. Do let me know if that is not the case.

    We are working to complete the automation of user access to the SKY Developers Cohort environment to streamline partner access as much as possible. And again, I'm sorry we caused you such frustration.

  • @Ben Regier Thanks Ben. I got postman to work just fine, the problem was in trying to use AuthLib to do the same thing. I am ultimately in a Django app and long story short, I burned hours on it. Even though the request headers looked right in every way it failed every time…..but error message was useless (invalid credentials)…..would be nice to know what was wrong. At any rate, I gave up on AuthLib and switched to OAuthLib and got it working in about 15 minutes…..crazy!

    When I get it figured out and cleaned up a bit, I will maybe post about how i did it to maybe save someone else a bunch of time.

    Appreciate your feedback!