Copyright | (c) 2013-2021 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay <brendan.g.hay+amazonka@gmail.com> |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Registers (or retrieves) a Cognito IdentityId
and an OpenID Connect
token for a user authenticated by your backend authentication process.
Supplying multiple logins will create an implicit linked account. You
can only specify one developer provider as part of the Logins
map,
which is linked to the identity pool. The developer provider is the
"domain" by which Cognito will refer to your users.
You can use GetOpenIdTokenForDeveloperIdentity
to create a new
identity and to link new logins (that is, user credentials issued by a
public provider or developer provider) to an existing identity. When you
want to create a new identity, the IdentityId
should be null. When you
want to associate a new login with an existing
authenticated/unauthenticated identity, you can do so by providing the
existing IdentityId
. This API will create the identity in the
specified IdentityPoolId
.
You must use AWS Developer credentials to call this API.
Synopsis
- data GetOpenIdTokenForDeveloperIdentity = GetOpenIdTokenForDeveloperIdentity' {
- tokenDuration :: Maybe Natural
- principalTags :: Maybe (HashMap Text Text)
- identityId :: Maybe Text
- identityPoolId :: Text
- logins :: HashMap Text Text
- newGetOpenIdTokenForDeveloperIdentity :: Text -> GetOpenIdTokenForDeveloperIdentity
- getOpenIdTokenForDeveloperIdentity_tokenDuration :: Lens' GetOpenIdTokenForDeveloperIdentity (Maybe Natural)
- getOpenIdTokenForDeveloperIdentity_principalTags :: Lens' GetOpenIdTokenForDeveloperIdentity (Maybe (HashMap Text Text))
- getOpenIdTokenForDeveloperIdentity_identityId :: Lens' GetOpenIdTokenForDeveloperIdentity (Maybe Text)
- getOpenIdTokenForDeveloperIdentity_identityPoolId :: Lens' GetOpenIdTokenForDeveloperIdentity Text
- getOpenIdTokenForDeveloperIdentity_logins :: Lens' GetOpenIdTokenForDeveloperIdentity (HashMap Text Text)
- data GetOpenIdTokenForDeveloperIdentityResponse = GetOpenIdTokenForDeveloperIdentityResponse' {
- token :: Maybe Text
- identityId :: Maybe Text
- httpStatus :: Int
- newGetOpenIdTokenForDeveloperIdentityResponse :: Int -> GetOpenIdTokenForDeveloperIdentityResponse
- getOpenIdTokenForDeveloperIdentityResponse_token :: Lens' GetOpenIdTokenForDeveloperIdentityResponse (Maybe Text)
- getOpenIdTokenForDeveloperIdentityResponse_identityId :: Lens' GetOpenIdTokenForDeveloperIdentityResponse (Maybe Text)
- getOpenIdTokenForDeveloperIdentityResponse_httpStatus :: Lens' GetOpenIdTokenForDeveloperIdentityResponse Int
Creating a Request
data GetOpenIdTokenForDeveloperIdentity Source #
Input to the GetOpenIdTokenForDeveloperIdentity
action.
See: newGetOpenIdTokenForDeveloperIdentity
smart constructor.
GetOpenIdTokenForDeveloperIdentity' | |
|
Instances
newGetOpenIdTokenForDeveloperIdentity Source #
Create a value of GetOpenIdTokenForDeveloperIdentity
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:tokenDuration:GetOpenIdTokenForDeveloperIdentity'
, getOpenIdTokenForDeveloperIdentity_tokenDuration
- The expiration time of the token, in seconds. You can specify a custom
expiration time for the token so that you can cache it. If you don't
provide an expiration time, the token is valid for 15 minutes. You can
exchange the token with Amazon STS for temporary AWS credentials, which
are valid for a maximum of one hour. The maximum token duration you can
set is 24 hours. You should take care in setting the expiration time for
a token, as there are significant security implications: an attacker
could use a leaked token to access your AWS resources for the token's
duration.
Please provide for a small grace period, usually no more than 5 minutes, to account for clock skew.
$sel:principalTags:GetOpenIdTokenForDeveloperIdentity'
, getOpenIdTokenForDeveloperIdentity_principalTags
- Use this operation to configure attribute mappings for custom providers.
$sel:identityId:GetOpenIdTokenForDeveloperIdentity'
, getOpenIdTokenForDeveloperIdentity_identityId
- A unique identifier in the format REGION:GUID.
$sel:identityPoolId:GetOpenIdTokenForDeveloperIdentity'
, getOpenIdTokenForDeveloperIdentity_identityPoolId
- An identity pool ID in the format REGION:GUID.
$sel:logins:GetOpenIdTokenForDeveloperIdentity'
, getOpenIdTokenForDeveloperIdentity_logins
- A set of optional name-value pairs that map provider names to provider
tokens. Each name-value pair represents a user from a public provider or
developer provider. If the user is from a developer provider, the
name-value pair will follow the syntax
"developer_provider_name": "developer_user_identifier"
. The
developer provider is the "domain" by which Cognito will refer to your
users; you provided this domain while creating/updating the identity
pool. The developer user identifier is an identifier from your backend
that uniquely identifies a user. When you create an identity pool, you
can specify the supported logins.
Request Lenses
getOpenIdTokenForDeveloperIdentity_tokenDuration :: Lens' GetOpenIdTokenForDeveloperIdentity (Maybe Natural) Source #
The expiration time of the token, in seconds. You can specify a custom expiration time for the token so that you can cache it. If you don't provide an expiration time, the token is valid for 15 minutes. You can exchange the token with Amazon STS for temporary AWS credentials, which are valid for a maximum of one hour. The maximum token duration you can set is 24 hours. You should take care in setting the expiration time for a token, as there are significant security implications: an attacker could use a leaked token to access your AWS resources for the token's duration.
Please provide for a small grace period, usually no more than 5 minutes, to account for clock skew.
getOpenIdTokenForDeveloperIdentity_principalTags :: Lens' GetOpenIdTokenForDeveloperIdentity (Maybe (HashMap Text Text)) Source #
Use this operation to configure attribute mappings for custom providers.
getOpenIdTokenForDeveloperIdentity_identityId :: Lens' GetOpenIdTokenForDeveloperIdentity (Maybe Text) Source #
A unique identifier in the format REGION:GUID.
getOpenIdTokenForDeveloperIdentity_identityPoolId :: Lens' GetOpenIdTokenForDeveloperIdentity Text Source #
An identity pool ID in the format REGION:GUID.
getOpenIdTokenForDeveloperIdentity_logins :: Lens' GetOpenIdTokenForDeveloperIdentity (HashMap Text Text) Source #
A set of optional name-value pairs that map provider names to provider
tokens. Each name-value pair represents a user from a public provider or
developer provider. If the user is from a developer provider, the
name-value pair will follow the syntax
"developer_provider_name": "developer_user_identifier"
. The
developer provider is the "domain" by which Cognito will refer to your
users; you provided this domain while creating/updating the identity
pool. The developer user identifier is an identifier from your backend
that uniquely identifies a user. When you create an identity pool, you
can specify the supported logins.
Destructuring the Response
data GetOpenIdTokenForDeveloperIdentityResponse Source #
Returned in response to a successful
GetOpenIdTokenForDeveloperIdentity
request.
See: newGetOpenIdTokenForDeveloperIdentityResponse
smart constructor.
GetOpenIdTokenForDeveloperIdentityResponse' | |
|
Instances
newGetOpenIdTokenForDeveloperIdentityResponse Source #
Create a value of GetOpenIdTokenForDeveloperIdentityResponse
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:token:GetOpenIdTokenForDeveloperIdentityResponse'
, getOpenIdTokenForDeveloperIdentityResponse_token
- An OpenID token.
$sel:identityId:GetOpenIdTokenForDeveloperIdentity'
, getOpenIdTokenForDeveloperIdentityResponse_identityId
- A unique identifier in the format REGION:GUID.
$sel:httpStatus:GetOpenIdTokenForDeveloperIdentityResponse'
, getOpenIdTokenForDeveloperIdentityResponse_httpStatus
- The response's http status code.
Response Lenses
getOpenIdTokenForDeveloperIdentityResponse_token :: Lens' GetOpenIdTokenForDeveloperIdentityResponse (Maybe Text) Source #
An OpenID token.
getOpenIdTokenForDeveloperIdentityResponse_identityId :: Lens' GetOpenIdTokenForDeveloperIdentityResponse (Maybe Text) Source #
A unique identifier in the format REGION:GUID.
getOpenIdTokenForDeveloperIdentityResponse_httpStatus :: Lens' GetOpenIdTokenForDeveloperIdentityResponse Int Source #
The response's http status code.