class FayeJwt::Server
Attributes
secret[RW]
Public Class Methods
new(secret)
click to toggle source
# File lib/faye-jwt/server.rb, line 7 def initialize(secret) self.secret = secret end
Public Instance Methods
authenticate(message)
click to toggle source
# File lib/faye-jwt/server.rb, line 22 def authenticate(message) payload, header = decode(message['Authorization']) return false if payload.nil? message['jwt'] = { 'payload' => payload, 'header' => header } true end
decode(authorization)
click to toggle source
# File lib/faye-jwt/server.rb, line 29 def decode(authorization) return nil if authorization.nil? type, access_token = authorization.split(' ') return nil if type.to_s.downcase != 'bearer' || access_token.nil? JWT.decode(access_token, secret, true) rescue nil end
incoming(message, callback)
click to toggle source
# File lib/faye-jwt/server.rb, line 11 def incoming(message, callback) message['error'] = 'Authentication failed.' unless authenticate(message) callback.call(message) end
outgoing(message, callback)
click to toggle source
# File lib/faye-jwt/server.rb, line 16 def outgoing(message, callback) message.delete('Authorization') message.delete('jwt') callback.call(message) end