Base63?

By dirkkelly

Monday, Jan 26, 2015

Today we had a great chat with Kevin from CampMinder and we were given access to their staging environment. This was a great opportunity to check whether interexchange/campminder-rb was able to verify and decode the data being sent by the server.

Many high fives were had when the get_payload method was able to decode the timestamp sent by CampMinder, however there was still work to be done with is_valid_request?. The issue was related to how we were decoding the Base64 string, we hadn’t implemented the methods that modified the Base64 during encoding and decoding.

prepare_base64

I spoke to my mate Barker today about this requirement and he explained how the = are just padding and the string replacements are for url parameter support.

Maybe we should just come up with a Base63 standard
Barker

Maybe we should, but for now we have had to make our spec suite a little more dirty calling into these special prepare methods in order to build signed objects.

messy_specs

So after some fiddling we were able to get the suite green again, with this it was the end of my day. Nathan proceeed to complete the integration specs for the library, by morning we had a solid idea of the methods the CampMinderHandlerController would need to implement inside our InterExchange codebase.