Skip to content

FIX: Reading Base64 JWT conforming to RFC-4648#4

Open
reneme wants to merge 2 commits into
juangburgos:masterfrom
reneme:fix/implement_rfc4648
Open

FIX: Reading Base64 JWT conforming to RFC-4648#4
reneme wants to merge 2 commits into
juangburgos:masterfrom
reneme:fix/implement_rfc4648

Conversation

@reneme
Copy link
Copy Markdown

@reneme reneme commented Dec 7, 2017

Turns out that JWT uses a URL-safe form of base64 that is slightly different (described in RFC-4648). Our application failed to read such a JWT (see below) for this reason. Please compare the following (officially endorsed) implementation of JWT in C: https://github.com/benmcollins/libjwt/blob/master/libjwt/jwt.c#L264

For reference: The token that failed to parse with this library:

eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJjYjk4N2RjNS0yY2UzLTRlMjAtOTRiZS1kZWFjMzMxOWJkOGU
iLCJ1c2VyX2VtYWlsIjoibW9wcy5ncm9zc2VAbmV4ZW5pby5jb20iLCJ1c2VyX3Jvb3R0cmVlbm9kZWl
kIjoiN2ZhZWYzODctNDM1Mi00YjYzLTg2Y2UtODU5NDAyZWE4ZjI3IiwiY29tcGFueV9pZCI6IjkyMDF
mYWVlLTRiOTYtNDZkYi04MWYxLTcxMjExMTBmN2ZiNyIsInVzZXJfbmFtZSI6Ik1vcHMgZGVyIEdyb8O
fZSIsImNvbXBhbnlfYWN0aXZlIjp0cnVlLCJpc3MiOiJDbG91ZFJhaWQgU2VydmVyIiwicmVmcmVzaF9
leHBpcnkiOjE1MTI2MjkyMjMsInVzZXJfcm9sZXMiOlsiVVNFUiJdLCJyZWZyZXNoX3Rva2VuIjoiSWd
TM1FIY3paa3dyQjhZMk8zUG1KQjBPeFNBT2gzb09JYldTLWNzc1hNSSIsInVzZXJfZ2l2ZW5uYW1lIjo
iTW9wcyIsInVzZXJfaWQiOiJjYjk4N2RjNS0yY2UzLTRlMjAtOTRiZS1kZWFjMzMxOWJkOGUiLCJleHA
iOjE1MTI1OTMyMjMsInRva2VuVHlwZSI6IkFVVEhFTlRJQ0FURURfVVNFUl9UT0tFTiIsInVzZXJfZmF
taWx5bmFtZSI6ImRlciBHcm_Dn2UifQ.6INfl7V03Sltz6eweU6NmcOY7Cng_H90sJhUjDv7TnIeyJhb
GciOiJIUzI1NiIsInR5cCI6IkpXVCJ9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant