connect-vtexid
Version:
VTEX ID Authentication middleware for Connect
22 lines (20 loc) • 661 B
text/coffeescript
decode = (encodedString) ->
stepEncoded = encodedString.replace('-', '+').replace('_', '/')
switch stepEncoded.length % 4
when 0
base64Json = stepEncoded
when 2
base64Json = stepEncoded + '=='
when 3
base64Json = stepEncoded + '='
else
console.log 'The encoded state is malformed - ' + encodedString
decodeString = new Buffer(base64Json).toString('utf8')
return decodeString
encode = (rawString) ->
base64String = new Buffer(rawString).toString('base64')
finalEncoded = base64String.split("=")[0].replace('+', '-').replace('/', '_')
return finalEncoded
module.exports =
decode: decode,
encode: encode