Terminology
This table will provide you with a list of terms used within the Auth service. This helps everyone understand what's being talked about.
- Name
Access Token
- Required
- Type
- Description
A string which is used to identify that a user or service has been authenticated
- Name
Authentication
- Required
- Type
- Description
The process of validating a user or services credentials
- Name
Authorization
- Required
- Type
- Description
The process of checking if an authenticated (known) user or service has permission to access an action or resource
- Name
Auth Code
- Required
- Type
- Description
A method of authentication for third parties to prevent them having access to the ITC users password
- Name
Client
- Required
- Type
- Description
A first or third party application, for example, compliance-auth can be considered to be a client. An application can have multiple clients
- Name
Client Credentials
- Required
- Type
- Description
A type of grant, which allows for programtic authentication where we want to authenticate a service
- Name
Client ID
- Required
- Type
- Description
A way to identify a specific client record
- Name
Client Secret
- Required
- Type
- Description
A type of password for a client. Secrets are never known by users. Each client has it's own secret so that Client A cant authenticate as Client B
- Name
Encoding
- Required
- Type
- Description
A way of changing data so it can be transmitted to other systems
- Name
Encryption / Decryption
- Required
- Type
- Description
A way of changing data securely, so it remains private while in transport. Encrypted data can always be decrypted back into it's original format.
- Name
Grant
- Required
- Type
- Description
An authentication method. For example, authenticating a user would need a different authentication method compared to trying to authenticate a service. In this case, we need 2 different grant types, one for user authenticated and one for programatic authentication
- Name
Hashing
- Required
- Type
- Description
A way of changing data securely only one way. Once data has been hashed, it cannot be changed back into it's original format.
- Name
JWT (JSON Web Token)
- Required
- Type
- Description
A specific type of access token which allows details about who or what is authenticated to be embedded within the access token securely
- Name
Keys (Public / Private)
- Required
- Type
- Description
A cryptographic way of signing and validating tokens
- Name
OAuth
- Required
- Type
- Description
A standardised authentication approach
- Name
Password
- Required
- Type
- Description
A string known only to the user to prove who they say they are
- Name
Password (Grant)
- Required
- Type
- Description
A type of grant, which allows users to authenticate
- Name
Refresh Token
- Required
- Type
- Description
A way to create a new Access Token without requiring the user to re-enter their username and password
- Name
Revoke
- Required
- Type
- Description
A way to expire a resource early (For example, if an access token becomes compromised, we want to prevent it being used so can revoke it)
- Name
Scope
- Required
- Type
- Description
A permission associated with an access token
- Name
Service
- Required
- Type
- Description
A platform, service, or API that needs programmatic access to resources and actions
- Name
Signing
- Required
- Type
- Description
A way to verify that the access token cannot be altered after it's been generated.
- Name
State
- Required
- Type
- Description
A unique identifier to identify a short lived request
- Name
TTL
- Required
- Type
- Description
"Time to live" - A numeric value which details how long something (usually an access token or cache) is valid for
- Name
Two Factor Auth (MFA / TFA / 2FA)
- Required
- Type
- Description
A way to be sure that the user is who they say they are by requiring another level of user validation
- Name
User
- Required
- Type
- Description
A person, someone who physically has to login to a service with a username and password
- Name
Username
- Required
- Type
- Description
A way for a user to identify their account