Unable to login/authorize with myschoolapp's OneRoster API
A school district that I work with, has a myschoolapp URL to their OneRoster API. The URL is like https://schooldistrictname.myschoolapp.com/ims/oneroster/v1p1
I have the key and secret too.
I'm attempting to authorize against the OneRoster API URL, so that I can get the token that allows me to call the various APIs. However, I cannot seem to get the authorization to work. I'm using Postman as the temporary/test client.
Here's what happens:
1. When I visit https://schooldistrictname.myschoolapp.com/ims/oneroster/v1p1, it redirects to https://schooldistrictname.myschoolapp.com/ims/swagger/docs/v1p1.
2. When I try an POST or GET on any form of the URL, it gives me a 404 or 418 error. I've tried the following URLs as the base URL:
a. https://schooldistrictname.myschoolapp.com/ims/swagger/docs/v1p1/token
b. https://schooldistrictname.myschoolapp.com/ims
c. https://schooldistrictname.myschoolapp.com/ims/oneoster
d. https://schooldistrictname.myschoolapp.com/ims/token
e. https://schooldistrictname.myschoolapp.com/ims/oneroster/token
f. https://schooldistrictname.myschoolapp.com
g. https://schooldistrictname.myschoolapp.com/ims/oauth
h. https://schooldistrictname.myschoolapp.com/ims/oauth/token
.... and many, many more
NONE of them work. I assume that I have to use the OAuth 1.0 or 2.0 protocol, and neither of them works.
What am I missing? How do I programmatically authorize against the myschoolapp OneRoster server?
Thanks in advance.
I have the key and secret too.
I'm attempting to authorize against the OneRoster API URL, so that I can get the token that allows me to call the various APIs. However, I cannot seem to get the authorization to work. I'm using Postman as the temporary/test client.
Here's what happens:
1. When I visit https://schooldistrictname.myschoolapp.com/ims/oneroster/v1p1, it redirects to https://schooldistrictname.myschoolapp.com/ims/swagger/docs/v1p1.
2. When I try an POST or GET on any form of the URL, it gives me a 404 or 418 error. I've tried the following URLs as the base URL:
a. https://schooldistrictname.myschoolapp.com/ims/swagger/docs/v1p1/token
b. https://schooldistrictname.myschoolapp.com/ims
c. https://schooldistrictname.myschoolapp.com/ims/oneoster
d. https://schooldistrictname.myschoolapp.com/ims/token
e. https://schooldistrictname.myschoolapp.com/ims/oneroster/token
f. https://schooldistrictname.myschoolapp.com
g. https://schooldistrictname.myschoolapp.com/ims/oauth
h. https://schooldistrictname.myschoolapp.com/ims/oauth/token
.... and many, many more
NONE of them work. I assume that I have to use the OAuth 1.0 or 2.0 protocol, and neither of them works.
What am I missing? How do I programmatically authorize against the myschoolapp OneRoster server?
Thanks in advance.
Tagged:
1
Comments
-
Hi Kunal Ashar -- There's a chance this might be related to the way you are formatting in Postman. I know you shared this quite awhile ago, but if you're still facing a challenge, feel free to shoot me a message!0
-
Hi Kunal and Ben,
I also am running in to this issue.
I have tried accessing the API using OAuth 2.0 with the following information:
Base URL: https://schooldistrictname.myschoolapp.com
Token URL: https://schooldistrictname.myschoolapp.com/token
scopes = 'https://purl.imsglobal.org/spec/or/v1p1/scope/roster-core.readonly'
data = {
'grant_type': 'client_credentials',
'client_id': client_id,
'client_secret': client_secret,
'scope': scopes
}
I also use basic authentication to add the credentials in the request as well.
With this configuration loaded into my json access token put request, I am receiving a 403 error.
I have also tried adding the "/ims/oneroster/v1p1" to the base URL and trying to get a token with that and no luck.
Any advice or guidance would be greatly appreciated. My next steps are to explore the SKY API as an alternative, although I am still uncertain as to whether or not that will fill my reporting needs.0 -
Hi Conor,
We do not yet have OAuth 2.0 implemented for OneRoster, just OAuth 1.0a at this time, so I believe that could be the source of the issue. I would suggest checking the documentation we have on OneRoster setup here: https://webfiles.blackbaud.com/files/support/helpfiles/education/k12/full-help/content/bb-core-oauth.html?Highlight=oneroster
Best,
Ben0 -
Hi Ben,
Thank you for your response. I have looked through that documentation but it does not provide with greater information than 1. the endpoints, 2. the client credentials, and 3. {school}/ims/oneroster/v1p1/ as an important URL.
I must be missing something, I have attempted to access the API first by doing a PUT request for a resource token at https://schooldistrictname.myschoolapp.com/ims/oneroster/v1p1/token and I receive a 418 error.
I also tried just passing my client id and secret in my GET request to https://schooldistrictname.myschoolapp.com/ims/oneroster/v1p1/academicSessions, and that also returned a 418 error.
Is there some kind of documentation that goes into exact detail where and how to authenticate with our OneRoster api?
Or could you please provide clarity on 1. What is the token URL supposed to be? 2. Are the OAuth 1.0 Parameters (specified here: https://www.imsglobal.org/oneroster-v11-final-specification#_Toc480452003) required to be included in the token request?
I really appreciate your help on this.0 -
Hi Conor,
I'm sorry for these challenges. I think I'd need to understand more about your setup to help troubleshoot here. Feel free to shoot me an email (ben.leddy@blackbaud.me) and we can discuss in a bit more detail.
Best,
Ben0
Categories
- All Categories
- 6 Blackbaud Community Help
- 211 bbcon®
- 1.4K Blackbaud Altru®
- 402 Blackbaud Award Management™ and Blackbaud Stewardship Management™
- 1.1K Blackbaud CRM™ and Blackbaud Internet Solutions™
- 15 donorCentrics®
- 360 Blackbaud eTapestry®
- 2.6K Blackbaud Financial Edge NXT®
- 655 Blackbaud Grantmaking™
- 576 Blackbaud Education Management Solutions for Higher Education
- 3.2K Blackbaud Education Management Solutions for K-12 Schools
- 941 Blackbaud Luminate Online® and Blackbaud TeamRaiser®
- 84 JustGiving® from Blackbaud®
- 6.7K Blackbaud Raiser's Edge NXT®
- 3.7K SKY Developer
- 248 ResearchPoint™
- 120 Blackbaud Tuition Management™
- 165 Organizational Best Practices
- 240 Member Lounge (Just for Fun)
- 34 Blackbaud Community Challenges
- 37 PowerUp Challenges
- 3 (Open) PowerUp Challenge: Grid View Batch
- 3 (Closed) PowerUp Challenge: Chat for Blackbaud AI
- 3 (Closed) PowerUp Challenge: Data Health
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Product Update Briefing
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Standard Reports+
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Email Marketing
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Gift Management
- 4 (Closed) Raiser's Edge NXT PowerUp Challenge: Event Management
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Home Page
- 4 (Closed) Raiser's Edge NXT PowerUp Challenge: Standard Reports
- 4 (Closed) Raiser's Edge NXT PowerUp Challenge: Query
- 796 Community News
- 3K Jobs Board
- 54 Blackbaud SKY® Reporting Announcements
- 47 Blackbaud CRM Higher Ed Product Advisory Group (HE PAG)
- 19 Blackbaud CRM Product Advisory Group (BBCRM PAG)

