def processToken(token, context=nil)
if token.nil? or token.empty?
debug("Error: processToken: Null/empty token.")
return
end
stoken = decodeAndValidateToken token
stoken = parse stoken
unless stoken
debug("Error: processToken: Failed to decode/validate token: #{token}")
return
end
sappid = stoken['appid']
unless sappid == appid
debug("Error: processToken: Application ID in token did not match ours: #{sappid}, #{appid}")
return
end
begin
user = User.new(stoken['ts'], stoken['uid'], stoken['flags'],
context, token)
return user
rescue Exception => e
debug("Error: processToken: Contents of token considered invalid: #{e}")
return
end
end