def generate_recovery_token(data:, audience:, context: nil, options: 0x00)
      token = RecoveryToken.build(issuer: self, audience: audience, type: RECOVERY_TOKEN_TYPE, options: options)
      token.data = self.encryptor.encrypt(data, self, context)

      [token, seal(token, context)]
    end
def generate_recovery_token(data:, audience:, context: nil, options: 0x00)
      token = RecoveryToken.build(issuer: self, audience: audience, type: RECOVERY_TOKEN_TYPE, options: options)
      token.data = self.encryptor.encrypt(data, self, context)

      [token, seal(token, context)]
    end
Generates a binary token with an encrypted arbitrary data payload.

 data: value to encrypt in the token
 provider: the recovery provider/audience of the token
 context: arbitrary data passed on to underlying crypto operations
 options: the value to set for the options byte

 returns a [RecoveryToken, b64 encoded sealed_token] tuple