License API
Single Sign-On URL
7 min
{ "tab" "examples", "url" "/api/v4/sso url", "name" "/api/v4/sso url", "method" "get", "request" { "pathparameters" \[], "queryparameters" \[ { "kind" "required", "name" "product", "type" "string", "children" \[], "description" "product short code" }, { "kind" "required", "name" "customer account code", "type" "string", "children" \[], "description" "the customer account code to which sso provider is configured " }, { "name" "response type", "kind" "optional", "type" "string", "description" "determines the type of oauth grant code grant or implicit if specified, must be either \\"code\\" or \\"token\\" defaults to \\"code\\"", "" "determines the type of oauth grant code grant or implicit if specified, must be either \\"code\\" or \\"token\\" defaults to \\"code\\"" } ], "headerparameters" \[ { "kind" "required", "name" "date", "type" "string", "children" \[], "description" "in rfc7231 format (see \\"license api authorization\\"), eg thu, 17 nov 2022 20 51 35 gmt" }, { "kind" "required", "name" "authorization", "type" "string", "children" \[], "description" "see \\"license api authorization\\" article" } ], "bodydataparameters" \[], "formdataparameters" \[] }, "results" { "languages" \[ { "id" "qlx3ifr3fpkeqnnhkuaxk", "code" "{\n \\"url\\" \\"https //auth licensespring com/realms/user portal/protocol/openid connect/auth?scope=openid\&response type=code\&client id=license users\&redirect uri=http //localhost\&kc idp hint=foo bar\\",\n \\"openid configuration\\" {\n \\"issuer\\" \\"https //auth licensespring com/realms/user portal\\",\n \\"end session endpoint\\" \\"https //auth licensespring com/realms/user portal/protocol/openid connect/logout\\",\n \\"token endpoint\\" \\"https //auth licensespring com/realms/user portal/protocol/openid connect/token\\",\n \\"introspection endpoint\\" \\"https //auth licensespring com/realms/user portal/protocol/openid connect/token/introspect\\"\n }\n}", "language" "200", "customlabel" "" } ], "selectedlanguageid" "qlx3ifr3fpkeqnnhkuaxk" }, "examples" { "languages" \[ { "id" "fwq6retgntdjvoy3yy9xr", "language" "curl", "code" "curl location request get '/api/v4/sso url?product=string\&customer account code=string' \\\\\n header 'accept application/json' \\\\\n header 'date string' \\\\\n header 'authorization string'", "customlabel" "" }, { "id" "h5pys rdz7mo7mm8wtvid", "language" "nodejs", "code" "var request = require('request');\nvar options = {\n 'method' 'get',\n 'url' '/api/v4/sso url?product=string\&customer account code=string',\n 'headers' {\n 'accept' 'application/json',\n 'date' 'string',\n 'authorization' 'string'\n }\n};\nrequest(options, function (error, response) {\n if (error) throw new error(error);\n console log(response body);\n});\n", "customlabel" "" }, { "id" "n mhxjhje2mzm1k6yd8uc", "language" "javascript", "code" "var myheaders = new headers();\nmyheaders append(\\"accept\\", \\"application/json\\");\nmyheaders append(\\"date\\", \\"string\\");\nmyheaders append(\\"authorization\\", \\"string\\");\n\nvar requestoptions = {\n method 'get',\n headers myheaders,\n redirect 'follow'\n};\n\nfetch(\\"/api/v4/sso url?product=string\&customer account code=string\\", requestoptions)\n then(response => response text())\n then(result => console log(result))\n catch(error => console log('error', error));", "customlabel" "" }, { "id" "batvmjtygblmifgz7tksg", "language" "python", "code" "import requests\n\nurl = \\"/api/v4/sso url?product=string\&customer account code=string\\"\n\npayload={}\nheaders = {\n 'accept' 'application/json',\n 'date' 'string',\n 'authorization' 'string'\n}\n\nresponse = requests request(\\"get\\", url, headers=headers, data=payload)\n\nprint(response text)\n", "customlabel" "" }, { "id" "2zgvsjg8wub f1uqyov5y", "language" "ruby", "code" "require \\"uri\\"\nrequire \\"net/http\"\n\nurl = uri(\\"/api/v4/sso url?product=string\&customer account code=string\\")\n\nhttp = net http new(url host, url port);\nrequest = net http get new(url)\nrequest\[\\"accept\\"] = \\"application/json\\"\nrequest\[\\"date\\"] = \\"string\\"\nrequest\[\\"authorization\\"] = \\"string\\"\n\nresponse = http request(request)\nputs response read body\n", "customlabel" "" } ], "selectedlanguageid" "fwq6retgntdjvoy3yy9xr" }, "description" "returns the single sign on url for license user authorization", "currentnewparameter" { "label" "query parameter", "value" "queryparameters" } } authorization method by default, authorization method used for sso is implicit grant which attaches user pool tokens ( id token, access token, expires in and token type ) to the redirect uri once the user is verified the id token then can be used when single sign on server as authentification for license user in activate license (online method) docid\ mt2ygm6cjzh2bumu gfww if you do not wan't to expose user tokens or the redirect uri is too long for your use case, you can use authorization code grant method where instead of id token the code query param is attached to the redirect uri and this code is sent instead of id token on request body when doing license activation to enable authorization code grant attach the optional response type=code query param to this endpoint example /api/v4/sso url/?customer account code=test\&product=test\&response type=code schema request query parameters type ssourlrequestparams = { product string, customer account code string, response type? 'code' | 'token' | undefined } json schema { "$schema" "https //json schema org/draft/2020 12/schema", "type" "object", "properties" { "product" { "type" "string" }, "customer account code" { "type" "string" }, "response type" { "type" "string", "enum" \["code", "token"] } }, "required" \["product", "customer account code"], "additionalproperties" false } response body type ssourlresponsebody = { url string, openid configuration { issuer string, end session endpoint string, token endpoint string, introspection endpoint string, } } json schema { "$schema" "https //json schema org/draft/2020 12/schema", "type" "object", "properties" { "url" { "type" "string" }, "openid configuration" { "type" "object", "properties" { "issuer" { "type" "string" }, "end session endpoint" { "type" "string" }, "token endpoint" { "type" "string" }, "introspection endpoint" { "type" "string" } } } }, "required" \["url"], "additionalproperties" false } the response object contains the sso url and an openid configuration object specifying the urls used by the openid compatible authentication service errors if an error occurs, the response will have an http status code of 400 or higher, and the response body will contain an error description in the following format { status number, code string, message string } json schema { "$schema" "https //json schema org/draft/2020 12/schema", "type" "object", "properties" { "status" { "type" "number" }, "code" { "type" "string" }, "message" { "type" "string" } }, "required" \[ "status", "code", "message" ], "additionalproperties" false } list of exceptions unknown product (400) provided product was not found missing headers (400) some headers are missing authorization missing params (400) some parameters are missing in the authorization { params }