A documentação a seguir fornece uma introdução as APIs REST V2 do Fluig Identity. As APIs REST V2 seguem o padrão de autenticação servidor a servidor OAuth2.0 utilizando JWT.
MODELS:
Aqui está uma lista de Models que as APIs REST Fluig Identity utilizam. Nós iremos entrar em detalhe sobre cada um deles conforme irmos avançando em cada documentação de API REST. Esta lista corresponde a todos os models que estão sendo utilizados por REST. Todos os valores mostrados para cada campo são valores padrões.
UserAccountDTO: A User’s personal information which is independent of the multicontext nature of User’s account.
{ "id": "", "firstName": "", "lastName": "", "password": "", "address": "", "phoneNumber": "", "emailAddress": "", "dateCreated": "Jan 14, 2014 11:47:03 AM", "otpPin": "", "role": "USER", "verifiedEmails": {}, "companyIds": [], "companyAccounts": [], "appStateChanged": false, "connectedToLinkedIn": false, "connectedToFacebook": false, "facebookId": "", "linkedinId": "", "userPhones": [], "userEmails": [], "tempPassword": "", "passwordSet": false, "loginMode": "PERSONAL", "companyId": ""} |
UserCompanyAccountDTO: A User’s information inside a company.
{ "id": "", "firstName": "", "lastName": "", "password": "", "address": "", "phoneNumber": "", "emailAddress": "", "isADImport": false, "appStateChanged": false, "adToken": "", "jobTitle": "", "dateCreated": "Jan 14, 2014 11:47:03 AM", "companyName": "", "role": "USER", "userLoginType": "CP_LOGIN", "userOrigin": "CP_ADMIN", "assignedAppCount": 0, "userStatus": "INVITED", "previousUserStatus": "INVITED", "resetKey": "", "companyLogoPath": "", "enableOTP": false, "personalId": "", "department": "", "customFields": {}, "companyId": ""} |
GroupDTO: An entity that binds Users and Applications together inside a company
{ "itemName": "", "description": "", "userCount": 0, "applicationCount": 0, "companyId": ""} |
CompanyDTO: Information about the company
{ "itemName": "", "dateCreated": "Jan 14, 2014 11:47:03 AM", "tokenRequired": false, "companyStatus": "CREATED", "emailDomains": [], "customLogo": false, "selfSignUp": false, "adLoginEnabled": false, "adUserActivation": "ACTIVATION_BY_EMAIL", "adPasswordChangeEnabled": false, "userActivation": "EMAIL", "displayAdPwdReqEnabled": false, "adPwdRequirements": "", "oauthClientId": "", "companyId": ""} |
CustomFieldDTO: Custom Fields inside a company.
{ "name": "", "label": "", "value": "", "length": "", "type": "STRING", "order": 2147483647, "required": false, "options": [], "visibleToUsers": true, "companyId": ""} |
JwtClaimDTO: JWT Claim needed for OAuth2.0
{ "iss": ""} |
RefreshToken: token returned as a response for OAuth.
{ "refresh_token": "", "access_token": "", "client_id": "", "timeIssuedInMillis": 0, "expires_in": 3600} |
AccessToken: token used for making REST calls
{ "access_token": "", "client_id": "", "timeIssuedInMillis": 0, "expires_in": 0} |
Application: Information about any given application
{ "appCategory": "", "itemName": "", "appDescription": "", "extensionRev": 0.0, "formAction": "", "formId": "", "formName": "", "loginPageUrl": "", "loginType": "FORM_LOGIN", "passwordField": "", "usernameField": "", "passwordFieldIsId": false, "usernameFieldIsId": false, "thickAppName": "", "submitPrefix": "", "parentAppId": "", "thickSSOProfile": "", "domain": "", "userLoginIdMapping": "USER_EMAIL", "ssoInitType": "IDP_INITIATED", "binding": "HTTP_REDIRECT", "nameIdFormat": "EmailAddress", "signed": true, "encrypted": false, "assertionUrl": "", "recipient": "", "audience": "", "spIssuerName": "", "provisionEnabled": false, "entitlementEnabled": false, "companySpecificIdSecret": false, "provisionMode": "SCIM", "provisionAuthType": "OAUTH2", "provisionUsername": "", "provisionPassword": "", "provisionClientId": "", "provisionClientSecret": "", "provisionRestUrl": "", "provisionAuthHeader": "", "provisionAccessToken": "", "provisionUserTempPassword": "", "personal": false, "browsable": false, "isCustomApp": false, "isCompanyApp": false, "isGlobalApp": false, "companyId": ""} |
UserApplicationLoginDTO: Information regarding a user’s details for a given application inside a company
{ "userId": "", "appId": "", "username": "", "password": "", "order": 2147483647, "executablePath": "", "isGroupAssociated": false, "appUserId": "", "companyId": ""} |
UserLiteDTO: Lighter version of UserCompanyAccountDTO when needed to be responded back in bulk (for example: all users in company)
{ "id": "", "firstName": "", "lastName": "", "role": "", "userStatus": "", "emailAddress": "", "previousUserStatus": "", "jobTitle": "", "department": "", "companyId": ""} |
SearchResults: Returned as a response to list queries such as “GET all users in a company”
{ "count": 0, // Número total de resultados retornados "list": [], //Lista de models, por ex: lista de UserLiteDTO no caso de pegar todos os usuários na empresa "totalCount": 0, // Número total de resultados baseados no critério "offset": 0, //Offset da página requisitado pelo cliente "pageSize": 0 //Tamanho da página requisitado pelo cliente} |