Uživatelský manuál
Stručný průvodce
Dashboard
Přehledy
Detail případu (Caseoverview)
Případ - Událost
Úkoly
Poznámky případu
Dokumenty
Nastavení uživatele
Oblíbené
Komponenta tabulky
FAQ
Admin dokumentace
Platforma
Administrace
Crony
Autentizace a synchronizace
Nastavení mobilní aplikace pro vaše prostředí
Schéma
Dynamické tabulky
Archivace
Skripty
Servisní konzole
Naplánované úkoly
HR Agenda
Sekvence
CSP hlavičky - zásady zabezpečení obsahu
Logy
Nastavení přístupového tokenu a vypršení platnosti relace
Šablona
Role
Plánování
Uživatelé
Organizační struktura
Události
Překlady
AXIOS API
Výpočty a funkce
Integrace
TAS Forms
Pokročilé funkce a tipy
Partneři
Produkt
Business Changelog
Technický changelog
Průvodce upgradem z předchozích verzí
Upgrade na 5.9
Upgrade na 5.3
Migrace dynamických podmínek
Úprava a kontrola tisku pdf
Úprava Popis úkolu vs Instrukce k úkolu
Transpilace forEach na for loop
Vykreslení HTML na Caseoverview
Upgrade na 5.7
Lodash upgrade v4.17.x (>v5.5)
Hlavní změny a zaniklé funkce (v5.3 > v5.7)
Použití validačních funkcí
Rozdíly mezi TAS4 a TAS5 - kompletní přehled
Best Practices upgrade z TAS 4 na TAS 5
Technické požadavky a architektura
Aktuality / Důležité informace
- Vše /
- Admin dokumentace
- Platforma
- Administrace
- Autentizace a synchronizace /
- Konfigurace autentizačních modulů
Konfigurace autentizačních modulů
Jednotlivé autentizační moduly a jejich vlastnosti a parametry jsou definované jako JSON.
Toto lze udělat pomocí např.
Holder.warn(); - zaloguje do obecných logů
debug.log(); - zaloguje do logů výpočtů
V rámci postAuthInstructions nebo identUser lze vkládat výpočty a funkce z následujících API:
EvalMathAPI | Výpočty co se běžně používají v rámci výpočtů pomocí lib.vypocet...(); Některé výpočty zde nebudou funkční např. pro práci s procesy. |
IdentityApi |
|
HolderApi | holder.getTextProperty("c.x\\.y"), holder.get("a") |
AxiosApi | Viz. AXIOS API |
CurlApi | Klasické používání curlu: curl.start(); |
DynamicTableApi |
|
AzureAD konfigurace - příklad
{
"logoutParams": {
"url": "/authenticate"
},
"tenantID": "XXXX",
"clientID": "XXXX",
"responseType": "id_token token",
"responseMode": "form_post",
"scope": [
"profile",
"email",
"openid"
],
"includeUserProfilePicture": true,
"allowHttpForRedirectUrl": false,
"postAuthInstructions": [
"/* Retrieve values from the input */",
"const name = Holder.getTextProperty('name');",
"const email = Holder.getTextProperty('email');",
"const photo = Holder.getTextProperty('photo');",
"const userExternalId = Holder.getTextProperty('oid');",
"const userExternalSource = Holder.getTextProperty('source');",
"const displayName = Holder.getTextProperty('displayName');",
"",
"/* Assign values, split if necessary */",
"const username = email;",
"const [ firstName, ...lastNames ] = Holder.getTextProperty('name').split(' ');",
"",
"/* Find or create a User with the given information */",
"const user = identity.findOrCreateUser(username, firstName, lastNames.join(' '));",
"",
"/* Set user email and photo */",
"user.USER_EMAIL = email;",
"user.USER_PHOTO = photo;",
"user.USER_EXTERNAL_SOURCE = userExternalSource;",
"user.EXTERNAL_ID = userExternalId;",
"user.USER_DISPLAY_NAME = displayName;",
"return identity.store(user);"
]
}
Updated
by Frantisek Brych