Skip to content
This repository was archived by the owner on Mar 13, 2020. It is now read-only.
This repository was archived by the owner on Mar 13, 2020. It is now read-only.

Getting user_email from id_token does not work #2

Description

@psihonavt

Hello,

Got next response with access_token and stuff:

resp = {u'id_token_expires_in': u'86400', u'access_token': u'EwB4Aul3BAAUo4xeBIbHjhBxWOFekj4Xy2fhaGQAARR...W9g4MZQE=', u'id_token': u'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ikd2blBBcGZXTWRMUmk4UERtaXNGbjdicHJLZyJ9.eyJ2ZXIiOiIyLjAiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vOTE4ODA0MGQtNmM2Ny00YzViLWIxMTItMzZhMzA0YjY2ZGFkL3YyLjAiLCJhdWQiOiI4MDRjZTgzMy0xNzQ0LTQyNjMtYWUwZC1jZDVhNTQwYzkyYTIiLCJleHAiOjE0Mzk1MzkzMDIsImlhdCI6MTQzOTQ1MjkwMiwiYXRfaGFzaCI6Ii0tSi1Pakt5S1EwdjlTWHY1MTE3WGciLCJuYW1lIjoiRG1pcnR5aSBUZXN0b2RmaiIsInByZWZlcnJlZF91c2VybmFtZSI6ImRtaXRyaXl0ZXN0b3ZpY2g1QG91dGxvb2suY29tIiwic3ViIjoiQUFBQUFBQUFBQUFBQUFBQUFBQUFBTDBqS29XSFdzY1hxQWgtcXdQd3dwVSIsInRpZCI6IjkxODgwNDBkLTZjNjctNGM1Yi1iMTEyLTM2YTMwNGI2NmRhZCJ9.UHtqGoE10KUvldBDWtQ8thCvZUzVC1n7C-N0YJOlKdZ7jN36XwSbCdPhTkqqsVnBXU3Plb4a9KApLIdQ-snjHYuARmDrhnXGsX9BU14pWrJi2leQDPIdk9MjdhhtQ3K51yOdmsVkgpHS7QnZIhYq8tFkmjVWhC8Mr6XR_gnJlto', u'expires_in': u'3600', u'token_type': u'Bearer', u'scope': u'https://outlook.office.com/mail.readwrite'}
id_token = resp['id_token']
token_parts = id_token.split('.')
encoded_token = token_parts[1]
leftovers = len(encoded_token) % 4
leftovers
>> 0
decoded = base64.urlsafe_b64decode(encoded_token).decode('utf-8')
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-10-05cf3c707231> in <module>()
----> 1 decoded = base64.urlsafe_b64decode(encoded_token).decode('utf-8')

/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/base64.pyc in urlsafe_b64decode(s)
    110     The alphabet uses '-' instead of '+' and '_' instead of '/'.
    111     """
--> 112     return b64decode(s, '-_')
    113
    114

/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/base64.pyc in b64decode(s, altchars)
     69     """
     70     if altchars is not None:
---> 71         s = _translate(s, {altchars[0]: '+', altchars[1]: '/'})
     72     try:
     73         return binascii.a2b_base64(s)

/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/base64.pyc in _translate(s, altchars)
     34     for k, v in altchars.items():
     35         translation[ord(k)] = v
---> 36     return s.translate(''.join(translation))
     37
     38

TypeError: character mapping must return integer, None or unicode

where is the problem?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions