IAM Flashcards
Authentication
Your Username + Your Password (who you are)
Authorization
Your Permissions (what you are allowed to do)
Service Provider (SP)
An application that provides some service to the end user. It accepts identity from an identity provider
Identity Provider (IdP)
A trusted service that enables users to access other websites and services without logging in again
OAuth (Open Authorization)
An open protocol to allow secure API authorization in a simple and standardized way from desktop and web applications
The Force.com platform implements the OAuth 2.0 Authorization Framework so that users can…
Authorize applications to access Force.com resources (via the Force.com REST and SOAP Web Service APIs) or Chatter resources (via the Chatter REST API) on their behalf without revealing their passwords or other credentials to those applications. Alternatively, applications can directly authenticate to access the same resources without the presence of an end user
Web Server OAuth Flow
Users can authorize your web application to access their data. Typically used for web applications where server-side code needs to interact with Force.com APIs on the user’s behalf. A critical aspect of the web server flow is that the server must be able to protect the consumer secret
User Agent OAuth Flow
Users can authorize your desktop or mobile application to access their data, leveraging an external or embedded browser (or user-agent) for authentication. Difference with web server flow is that client cannot keep consumer secret confidential and is used for desktop & mobile applications
OAuth 2.0 Refresh Token OAuth Flow
Renews tokens issued by the web server or user-agent flows
JWT Bearer Token OAuth Flow
An app can re-use an existing authorization by supplying a signed JSON Web Token (JWT) and this flow does not use a refresh token.
Access Token
Used by the client to make authenticated requests on behalf of the end user
Refresh Token
May have an indefinite lifetime, persisting for an admin-configured interval or until explicitly revoked by the end-user. The client application can store the refresh token, using it to periodically obtain fresh access tokens, but should be careful to protect it against unauthorized access, since, like a password, it can be repeatedly used to gain access to the resource server
redirect_uri
The end user’s browser will be redirected to this URI with the authorization code. This must match your application’s configured callback URL
state
If a value was provided for the state parameter in the request, then that same value will be returned here
Connected Apps
Designed to be run independently of the user interface. Either the app is hosted on an external website that interfaces with salesforce.com, or is a desktop or mobile app that runs on a client. Authentication for a connected app is client-initiated and must be done per-client