Kenesto Authentication

with External authenticator

1. CreateCompanyUsingExternalAuthentication

 

Description: 

Create new company that using with an external authentication

Request:

https://app.kenesto.com/Kenesto.Web.API/Access.svc/CreateCompanyUsingExternalAuthentication

Http Method: POST

Content-Typeapplication/json

 

Parameters:

Name Type Required Description
token string yes A valid session token
companyName string yes Company name
companyDomains JSON Object yes An array of company domains
authenticationEndpoint string yes Authentication endpoint URL (see more details below)
validationEndpoint string yes Validation endpoint URL (see more details below)
publicKey string yes A public key to encrypt the user’s data (see more details below)
userData string no User Data – free text.

 

Response

Response:

TypeJson Formatted String

CompanyId –  Company Id

ResponseStatus – OK or FAILED

 
URL Examples
 
URL Examples

https://app.kenesto.com/Kenesto.Web.API/Access.svc/CreateCompanyUsingExternalAuthentication

{

   token: “iBqpURc3g5VYT/1BTgMt68JQNsD0Sx+4NKZWJNVy66tbv76Itf6eLd/Th/elOX5Jx2lwC2CMNgG/ygQfK4orudXXkKUdyRYEwpr30Iy/IxfUzHugmzCoOVizaEBU+8f7jczR”,

   companyName: “Company #1”,

   companyDomains: [“comp1.com”],

   agentAccessUrl: https://oem.com/kenesto_auth.srv/authenticate,

   serverAccessUrl: https://oem.com/kenesto_auth.srv/validate,

   publicKey: <RSAKeyValue><Modulus>3V+rPbx2ojXfp9cFRrfaW402oOMfcR6cUZmenMK3RYQJSmt40McF/xUhVPsL/GubnaNHz4k45EgRWYzUHV/22lQgBl/vWyGK6w9xBPg2w==</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>

}

 

Response Example
Response

{

    “CompanyId“: 1001,

    “ResponseStatus”: “OK”,

    “UserData”: null

}

 

2. UpdateCompanyUsingExternalAuthentication

Description: 

Update existing company that using with an external authentication

Request:

https://app.kenesto.com/Kenesto.Web.API/Access.svc/UpdateCompanyUsingExternalAuthentication

Http Method: POST

Content-Typeapplication/json

Parameters:

Name

Type

Required

Description

token

string

yes

A valid session token

companyId

string

yes

A company name

companyName

string

no

A company name

companyDomains

JSON Object

no

An array of company domains

authenticationEndpoint

string

yes

Authentication endpoint URL

validationEndpoint

string

yes

Validation endpoint URL

publicKey

string

no

A public key to encrypt the user’s data

userData

string

no

User Data – free text.

 
 
Response

Response:

TypeJson Formatted String

ResponseStatus – OK or FAILED

URL Examples
URL Examples

https://app.kenesto.com/Kenesto.Web.API/Access.svc/UpdateCompanyUsingExternalAuthentication

{

   token: “iBqpURc3g5VYT/1BTgMt68JQNsD0Sx+4NKZWJNVy66tbv76Itf6eLd/Th/elOX5Jx2lwC2CMNgG/ygQfK4orudXXkKUdyRYEwpr30Iy/IxfUzHugmzCoOVizaEBU+8f7jczR”,

   companyId: “1001”,

   companyName: “Company #1 dev”,

   companyDomains: [“comp1.com”,”comp2.com],

   agentAccessUrl: https://oem.com/kenesto_auth.srv_dev/authenticate,

   serverAccessUrl: https://oem.com/kenesto_auth.srv_dev/validate,

   publicKey: <RSAKeyValue><Modulus>43V+rPbx2ojXfp9cFRrfaW402oOMfcR6cdsdsdsdsdJSmt40McF/xUhVPsL/GubnaNHz4k45EgRWQSiamwftvqataMmZXYzUHV/22lQgB==</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>

}

 
Response Example
Response

{

    “ResponseStatus”: “OK”,

    “UserData”: null

}

3. AddUserToCompanyUsingExternalAuthentication

 

Description: 

Add new user to a company that using with an external authentication

Request:

https://app.kenesto.com/Kenesto.Web.API/Access.svc/AddUserToCompanyUsingExternalAuthentication

Http Method: POST

Content-Typeapplication/json

Parameters:

Name

Type

Required

Description

token

string

yes

A valid session token

companyId

string

yes

A company Id

firstName

string

yes

First Name

lastName

string

yes

Last Name

emailAddress

string

yes

Email Address

userData

string

no

User Data – free text.

 
 
Response

Response:

TypeJson Formatted String

ResponseStatus – OK or FAILED

URL Examples
URL Examples

https://app.kenesto.com/Kenesto.Web.API/Access.svc/AddUserToCompanyUsingExternalAuthentication

{

   token: “iBqpURc3g5VYT/1BTgMt68JQNsD0Sx+4NKZWJNVy66tbv76Itf6eLd/Th/elOX5Jx2lwC2CMNgG/ygQfK4orudXXkKUdyRYEwpr30Iy/IxfUzHugmzCoOVizaEBU+8f7jczR”,

   companyId: “1001”,

   firstName: “Joe”,

   lastName: Rogan”,

   emailAddress: joe_rogan@gmail.com

}

 
Response Example
Response

{

    “ResponseStatus”: “OK”,

    “UserData”: null

}

4. LoginUsingExternalAuthentication

Description: 

Login to Kenesto using with an external authentication server.

The token included in the response is to be used for all subsequent API calls.

Request:

https://app.kenesto.com/Kenesto.Web.API/Access.svc/LoginUsingExternalAuthentication

 Http Method: POST

Content-Typeapplication/json

Parameters:

Name Type Required Description
accessToken string yes Access token (received from the Authenticate API function).
organizationIdentifier string yes Company id
validationCode string yes Validation code (received from the external authorization server).
userData string no User Data – free text.

Downloadable Solution:

Response

Response:

TypeJson Formatted String

ResponseStatus – OK or FAILED

Token – A valid session token

URL Examples
URL Examples

https://app.kenesto.com/Kenesto.Web.API/Access.svc/LoginUsingExternalAuthentication

{

   accessToken: “iBqpURc3g5VYT/1BTgMt68JQNsD0Sx+4NKZWJNVy66tbv76Itf6eLd/Th/elOX5Jx2lwC2CMNgG/ygQfK4orudXXkKUdyRYEwpr30Iy/IxfUzHugmzCoOVizaEBU+8f7jczR”,

   organizationIdentifier: “1001”,

   validationCode: “637083229228276296”

}

 
Response Example
Response

{

  “LoginUsingExternalAuthenticationResult”: {

    “ErrorMessage”: null,

    “ResponseStatus”: “OK”,

    “ID”: “53e0cc91-3d12-4873-9973-aaec126d864e”,

    “LastMessageTimestamp”: 0,

    “Organizations”: null,

    “Token”: “AKJ7TYaL3eX2aUgIFlnCZf+IP6f/9Pg95e703Op4DpzhRrifUIMoQ8FVSN6SYFKi1WOtstisem84uBMbNu3o42zmT0WG1KXlKdaf3p7Sj/VNM/gzihq8IXZg=”,

    “User”: {

      “AuthenticationOption”: “NONE”,

      “DefaultLanguage”: null,

      “DynamicAccess”: [],

      “EmailAddress”: “[email protected]“,

      “FirstName”: “Joe”,

      “IsApproved”: true,

      “LastName”: “Lee”,

      “LicenseType”: “PRO_LICENSE_TYPE”,

      “Roles”: [],

      “SelectedLanguage”: null,

      “TenantID”: “1001”,

      “ThumbnailPath”: “”,

      “UserId”: “53e0cc91-3d12-4873-973-aaec126d864e”,

      “maxVolumeSize”: 2,

      “performFallbackToMail”: false,

      “reloginOnDriveStart”: false

    }

  }

}

 

4. InvalidateUserSessions

Description: 

Allows the external administrator to request user’s tokens invalidation.
This is useful in case a user changed his password on the external application.
Notifying Kenesto will force the user to re-login.

The token used for the call must belong to the organization administrator or to the parent organization administrator.

Request:

https://app.kenesto.com/Kenesto.Web.API/Access.svc/InvalidateUserSessions

 Http Method: POST

Content-Typeapplication/json

Parameters:

Name Type Required Description
token string yes Access session token (Organization Administrator).
username string yes Username (email address) of the target user

 

Example:

{
“token”:”MSm2dDAVJE0PyDFjo8HaCKP+I63lpJHjQDY00Xrx/6dtH2tfX2wv7qIlPMDA5dJLZIDwOei+Cqb4z1n13d+rIXCw7g6jBKohXwPDpo8QsCUoLxWIXrxK+XRdkMxEKZ7VhvDP8uMfdHZBTItoKM9L1skofzzlQz6ukziEwOUa6ZRvZwcQWTR+dkL=”,
“username”:”[email protected]
}

Response

Response:

{
“InvalidateUserSessionsResult”: {
      “ErrorMessage”: null,
      “ResponseStatus”: “OK”
    }
}

ResponseStatus – OK or FAILED