BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
jglew
Fluorite | Level 6

I am trying to use the password access token as described in this blog post (https://blogs.sas.com/content/sgf/2019/01/25/authentication-to-sas-viya/). I believe when I registered my client that I didn't list the correct group name in the scope. I get a "full authentication is required" message when I try to call an API. Is the scope supposed to include the SAS group of people who can use the APIs?

 

So now, I'm looking for how to update that client registration - what call do I make to update the client registration (rather than create a new one)?

1 ACCEPTED SOLUTION

Accepted Solutions
joeFurbee
Community Manager

Hi @jglew,

If you'd like to update the client registration you can use the SAS logon API, found under Core Services in the API reference doc. Specifically, you can update everything except the client secret by using a PUT method and the client_id. To update the secret, there is a separate endpoint.

 

The update API call would look simiar to:

 

PUT /SASLogon/oauth/clients/my.client.app
    Content-Type: application/json
    Authorization: Bearer 6eb2f....3d7
    Accept: application/json
Body:
{
  "scope" : [ "clients.new", "clients.autoapprove" ],
  "client_id" : "my.client.app",
  "authorized_grant_types" : [ "client_credentials" ],
  "redirect_uri" : [ "http://redirect.url" ],
  "autoapprove" : [ "clients.autoapprove" ]
}

 

 

 

To understand how to set the scope based on user group administration, I'd recommenr the following resources on SAS Administration concepts of Custom Groupsgranting access to SAS Content, and creating authorization rules

 

In addition to the blog post you referred to in your post, there is an excellent series on client registration, OAuth, and access by @tarastclair

 

Thanks,

Joe

 


Join us for SAS Community Trivia
SAS Bowl XXXVIII, SAS Programming: Getting Started
Wednesday, February 14, 2024, at 10 a.m. ET | #SASBowl

View solution in original post

2 REPLIES 2
joeFurbee
Community Manager

Hi @jglew,

If you'd like to update the client registration you can use the SAS logon API, found under Core Services in the API reference doc. Specifically, you can update everything except the client secret by using a PUT method and the client_id. To update the secret, there is a separate endpoint.

 

The update API call would look simiar to:

 

PUT /SASLogon/oauth/clients/my.client.app
    Content-Type: application/json
    Authorization: Bearer 6eb2f....3d7
    Accept: application/json
Body:
{
  "scope" : [ "clients.new", "clients.autoapprove" ],
  "client_id" : "my.client.app",
  "authorized_grant_types" : [ "client_credentials" ],
  "redirect_uri" : [ "http://redirect.url" ],
  "autoapprove" : [ "clients.autoapprove" ]
}

 

 

 

To understand how to set the scope based on user group administration, I'd recommenr the following resources on SAS Administration concepts of Custom Groupsgranting access to SAS Content, and creating authorization rules

 

In addition to the blog post you referred to in your post, there is an excellent series on client registration, OAuth, and access by @tarastclair

 

Thanks,

Joe

 


Join us for SAS Community Trivia
SAS Bowl XXXVIII, SAS Programming: Getting Started
Wednesday, February 14, 2024, at 10 a.m. ET | #SASBowl

jglew
Fluorite | Level 6

Great! Thanks for the extra resources. They will be helpful.

 

I am glad to say that I got the registration to work and successfully called my first Viya api. Will definitely share any other questions/discoveries as we work on getting our app going.

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 2 replies
  • 908 views
  • 1 like
  • 2 in conversation