baseline sso. need to implement interface and json marshaling/encoding