Implement get_open_id_token
Introduce the CognitoIdentity's GetOpenIDToken endpoint to retrieve a JWT tuple from Cognito's Identity Pool for a given IdentityId.
This commit is contained in:
parent
e4ed14b131
commit
7c17fcd21d
@ -815,16 +815,16 @@
|
|||||||
- [ ] update_user_profile
|
- [ ] update_user_profile
|
||||||
|
|
||||||
## cognito-identity - 0% implemented
|
## cognito-identity - 0% implemented
|
||||||
- [ ] create_identity_pool
|
- [X] create_identity_pool
|
||||||
- [ ] delete_identities
|
- [ ] delete_identities
|
||||||
- [ ] delete_identity_pool
|
- [ ] delete_identity_pool
|
||||||
- [ ] describe_identity
|
- [ ] describe_identity
|
||||||
- [ ] describe_identity_pool
|
- [ ] describe_identity_pool
|
||||||
- [ ] get_credentials_for_identity
|
- [X] get_credentials_for_identity
|
||||||
- [ ] get_id
|
- [X] get_id
|
||||||
- [ ] get_identity_pool_roles
|
- [ ] get_identity_pool_roles
|
||||||
- [ ] get_open_id_token
|
- [X] get_open_id_token
|
||||||
- [ ] get_open_id_token_for_developer_identity
|
- [X] get_open_id_token_for_developer_identity
|
||||||
- [ ] list_identities
|
- [ ] list_identities
|
||||||
- [ ] list_identity_pools
|
- [ ] list_identity_pools
|
||||||
- [ ] lookup_developer_identity
|
- [ ] lookup_developer_identity
|
||||||
|
@ -95,6 +95,15 @@ class CognitoIdentityBackend(BaseBackend):
|
|||||||
})
|
})
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
def get_open_id_token(self, identity_id):
|
||||||
|
response = json.dumps(
|
||||||
|
{
|
||||||
|
"IdentityId": identity_id,
|
||||||
|
"Token": get_random_identity_id(self.region)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
return response
|
||||||
|
|
||||||
|
|
||||||
cognitoidentity_backends = {}
|
cognitoidentity_backends = {}
|
||||||
for region in boto.cognito.identity.regions():
|
for region in boto.cognito.identity.regions():
|
||||||
|
@ -35,3 +35,8 @@ class CognitoIdentityResponse(BaseResponse):
|
|||||||
return cognitoidentity_backends[self.region].get_open_id_token_for_developer_identity(
|
return cognitoidentity_backends[self.region].get_open_id_token_for_developer_identity(
|
||||||
self._get_param('IdentityId') or get_random_identity_id(self.region)
|
self._get_param('IdentityId') or get_random_identity_id(self.region)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def get_open_id_token(self):
|
||||||
|
return cognitoidentity_backends[self.region].get_open_id_token(
|
||||||
|
self._get_param("IdentityId") or get_random_identity_id(self.region)
|
||||||
|
)
|
||||||
|
@ -68,7 +68,7 @@ def test_get_open_id_token_for_developer_identity():
|
|||||||
},
|
},
|
||||||
TokenDuration=123
|
TokenDuration=123
|
||||||
)
|
)
|
||||||
assert len(result['Token'])
|
assert len(result['Token']) > 0
|
||||||
assert result['IdentityId'] == '12345'
|
assert result['IdentityId'] == '12345'
|
||||||
|
|
||||||
@mock_cognitoidentity
|
@mock_cognitoidentity
|
||||||
@ -83,3 +83,15 @@ def test_get_open_id_token_for_developer_identity_when_no_explicit_identity_id()
|
|||||||
)
|
)
|
||||||
assert len(result['Token']) > 0
|
assert len(result['Token']) > 0
|
||||||
assert len(result['IdentityId']) > 0
|
assert len(result['IdentityId']) > 0
|
||||||
|
|
||||||
|
@mock_cognitoidentity
|
||||||
|
def test_get_open_id_token():
|
||||||
|
conn = boto3.client('cognito-identity', 'us-west-2')
|
||||||
|
result = conn.get_open_id_token(
|
||||||
|
IdentityId='12345',
|
||||||
|
Logins={
|
||||||
|
'someurl': '12345'
|
||||||
|
}
|
||||||
|
)
|
||||||
|
assert len(result['Token']) > 0
|
||||||
|
assert result['IdentityId'] == '12345'
|
||||||
|
Loading…
Reference in New Issue
Block a user