Class: PxModule::PerimeterxTokenV1
Instance Attribute Summary collapse
#cookie_secret, #decoded_cookie, #px_cookie
Instance Method Summary
collapse
#cookie_time, #cookie_uuid, #cookie_vid, #decode, #decrypt, #deserialize, #expired?, #high_score?, #hmac_valid?, #is_valid?, px_cookie_factory
Constructor Details
6
7
8
9
10
11
12
|
# File 'lib/perimeterx/internal/payload/perimeter_x_token_v1.rb', line 6
def initialize(px_config, px_ctx)
super(px_config)
@px_ctx = px_ctx
@px_cookie = px_ctx.get_px_cookie
@cookie_secret = px_config[:cookie_key]
@logger.debug('PerimeterxTokenV1[initialize]')
end
|
Instance Attribute Details
#px_config ⇒ Object
Returns the value of attribute px_config.
4
5
6
|
# File 'lib/perimeterx/internal/payload/perimeter_x_token_v1.rb', line 4
def px_config
@px_config
end
|
#px_ctx ⇒ Object
Returns the value of attribute px_ctx.
4
5
6
|
# File 'lib/perimeterx/internal/payload/perimeter_x_token_v1.rb', line 4
def px_ctx
@px_ctx
end
|
Instance Method Details
#cookie_block_action ⇒ Object
26
27
28
|
# File 'lib/perimeterx/internal/payload/perimeter_x_token_v1.rb', line 26
def cookie_block_action
return 'c'
end
|
#cookie_hmac ⇒ Object
18
19
20
|
# File 'lib/perimeterx/internal/payload/perimeter_x_token_v1.rb', line 18
def cookie_hmac
return @decoded_cookie[:h]
end
|
#cookie_score ⇒ Object
14
15
16
|
# File 'lib/perimeterx/internal/payload/perimeter_x_token_v1.rb', line 14
def cookie_score
return @decoded_cookie[:s][:b]
end
|
#secured? ⇒ Boolean
30
31
32
33
34
|
# File 'lib/perimeterx/internal/payload/perimeter_x_token_v1.rb', line 30
def secured?
hmac_str = "#{cookie_time}#{@decoded_cookie[:s][:a]}#{cookie_score}#{cookie_uuid}#{cookie_vid}"
return hmac_valid?(hmac_str, cookie_hmac)
end
|
22
23
24
|
# File 'lib/perimeterx/internal/payload/perimeter_x_token_v1.rb', line 22
def valid_format?(cookie)
return cookie.key?(:t) && cookie.key?(:s) && cookie[:s].key?(:b) && cookie.key?(:s) && cookie.key?(:v) && cookie.key?(:h)
end
|