Browse Source
* add token refresh * json.dumps * data * savetoken * fix folder id bug * fix index Co-authored-by: cloud-user <cloud-user@race.sas.com>master
committed by
GitHub
3 changed files with 135 additions and 9 deletions
@ -0,0 +1,65 @@ |
|||
#!/usr/bin/python |
|||
# -*- coding: utf-8 -*- |
|||
# |
|||
# Saves the access token from the CLI credentials file to a file in the format expected by the SAS Vscode extension |
|||
# The token is saved to a file ~/.sas/<profile>_token.txt |
|||
# |
|||
|
|||
import sys |
|||
import json |
|||
import os |
|||
|
|||
from sharedfunctions import file_accessible, getprofileinfo |
|||
|
|||
#get authentication information for the header |
|||
credential_file=os.path.join(os.path.expanduser('~'),'.sas','credentials.json') |
|||
|
|||
# check that credential file is available and can be read |
|||
access_file=file_accessible(credential_file,'r') |
|||
|
|||
if access_file==False: |
|||
oaval=None |
|||
print("ERROR: Cannot read authentication credentials at: ", credential_file) |
|||
print("ERROR: Try refreshing your token with sas-admin auth login") |
|||
sys.exit() |
|||
|
|||
with open(credential_file) as json_file: |
|||
data = json.load(json_file) |
|||
|
|||
# profile |
|||
|
|||
cur_profile=os.environ.get("SAS_CLI_PROFILE","NOTSET") |
|||
|
|||
if cur_profile=="NOTSET": |
|||
print("SAS_CLI_PROFILE environment variable not set, using Default profile") |
|||
cur_profile='Default' |
|||
else: |
|||
print("SAS_CLI_PROFILE environment variable set to profile "+ cur_profile) |
|||
|
|||
|
|||
ssl_file=os.environ.get("SSL_CERT_FILE","NOTSET") |
|||
|
|||
if ssl_file=="NOTSET": |
|||
print("SSL_CERT_FILE environment variable not set.") |
|||
else: |
|||
print("SSL_CERT_FILE environment variable set to profile "+ ssl_file) |
|||
|
|||
|
|||
r_ssl_file=os.environ.get("REQUESTS_CA_BUNDLE","NOTSET") |
|||
|
|||
if r_ssl_file=="NOTSET": |
|||
print("REQUESTS_CA_BUNDLE environment variable not set.") |
|||
else: |
|||
print("REQUESTS_CA_BUNDLE environment variable set to profile "+ r_ssl_file) |
|||
|
|||
if cur_profile in data: |
|||
|
|||
oauthToken=data[cur_profile]['access-token'] |
|||
token_file=os.path.join(os.path.expanduser('~'),'.sas',cur_profile+"_token.txt") |
|||
|
|||
with open(token_file, "w") as tokenfile: |
|||
tokenfile.write(oauthToken) |
|||
|
|||
print("NOTE: token saved to "+token_file) |
|||
|
|||
|
|||
Loading…
Reference in new issue