Class: OpenID::Consumer::SuccessResponse
- Inherits:
-
Object
- Object
- OpenID::Consumer::SuccessResponse
- Includes:
- Response
- Defined in:
- lib/openid/consumer/responses.rb
Overview
A successful acknowledgement from the OpenID server that the supplied URL is, indeed controlled by the requesting agent.
Constant Summary collapse
- STATUS =
SUCCESS
Instance Attribute Summary collapse
-
#message ⇒ Object
readonly
Returns the value of attribute message.
-
#signed_fields ⇒ Object
readonly
Returns the value of attribute signed_fields.
Attributes included from Response
Instance Method Summary collapse
-
#extension_response(namespace_uri, require_signed) ⇒ Object
Return response arguments in the specified namespace.
-
#get_signed(ns_uri, ns_key, default = nil) ⇒ Object
Return the specified signed field if available, otherwise return default.
-
#get_signed_ns(ns_uri) ⇒ Object
Get signed arguments from the response message.
-
#initialize(endpoint, message, signed_fields) ⇒ SuccessResponse
constructor
A new instance of SuccessResponse.
-
#is_openid1 ⇒ Object
Was this authentication response an OpenID 1 authentication response?.
-
#signed?(ns_uri, ns_key) ⇒ Boolean
Return whether a particular key is signed, regardless of its namespace alias.
Methods included from Response
#display_identifier, #identity_url, #status
Constructor Details
#initialize(endpoint, message, signed_fields) ⇒ SuccessResponse
Returns a new instance of SuccessResponse.
62 63 64 65 66 67 68 69 |
# File 'lib/openid/consumer/responses.rb', line 62 def initialize(endpoint, , signed_fields) # Don't use :endpoint=, because endpoint should never be nil # for a successfull transaction. @endpoint = endpoint @identity_url = endpoint.claimed_id @message = @signed_fields = signed_fields end |
Instance Attribute Details
#message ⇒ Object (readonly)
Returns the value of attribute message.
60 61 62 |
# File 'lib/openid/consumer/responses.rb', line 60 def @message end |
#signed_fields ⇒ Object (readonly)
Returns the value of attribute signed_fields.
60 61 62 |
# File 'lib/openid/consumer/responses.rb', line 60 def signed_fields @signed_fields end |
Instance Method Details
#extension_response(namespace_uri, require_signed) ⇒ Object
Return response arguments in the specified namespace. If require_signed is true and the arguments are not signed, return nil.
109 110 111 112 113 114 115 |
# File 'lib/openid/consumer/responses.rb', line 109 def extension_response(namespace_uri, require_signed) if require_signed get_signed_ns(namespace_uri) else @message.get_args(namespace_uri) end end |
#get_signed(ns_uri, ns_key, default = nil) ⇒ Object
Return the specified signed field if available, otherwise return default
85 86 87 88 89 90 91 |
# File 'lib/openid/consumer/responses.rb', line 85 def get_signed(ns_uri, ns_key, default=nil) if singed?(ns_uri, ns_key) return @message.get_arg(ns_uri, ns_key, default) else return default end end |
#get_signed_ns(ns_uri) ⇒ Object
Get signed arguments from the response message. Return a dict of all arguments in the specified namespace. If any of the arguments are not signed, return nil.
96 97 98 99 100 101 102 103 104 |
# File 'lib/openid/consumer/responses.rb', line 96 def get_signed_ns(ns_uri) msg_args = @message.get_args(ns_uri) msg_args.each_key do |key| if !signed?(ns_uri, key) return nil end end return msg_args end |
#is_openid1 ⇒ Object
Was this authentication response an OpenID 1 authentication response?
73 74 75 |
# File 'lib/openid/consumer/responses.rb', line 73 def is_openid1 @message.is_openid1 end |
#signed?(ns_uri, ns_key) ⇒ Boolean
Return whether a particular key is signed, regardless of its namespace alias
79 80 81 |
# File 'lib/openid/consumer/responses.rb', line 79 def signed?(ns_uri, ns_key) @signed_fields.member?(@message.get_key(ns_uri, ns_key)) end |