module SipDigestAuth

Constants

VERSION

Public Instance Methods

authenticate_request(session, request, credentials=nil) click to toggle source

Credentials are optional if the session is established. When specified, it is a hash containing either :user & :password OR the key :hash. Required on the first call to cache h1 in session.

# File lib/sip_digest_auth.rb, line 25
def authenticate_request(session, request, credentials=nil)
  #TODO: Implement
end
challenge(session) click to toggle source
# File lib/sip_digest_auth.rb, line 8
def challenge(session)
  header_name = session.proxy ? 'proxy-authenticate' : 'www-authenticate'

  header_values = [
    "Digest",
    "realm: #{q(session.realm)}",
    "qop: #{q(session.qop)}",
    "algorithm: #{q(session.algorithm)}",
    "nonce: #{q(session.nonce)}",
    "opaque: #{q(session.opaque)}"
  ]

  [header_name, header_values.join(', ')]
end

Protected Instance Methods

q(str) click to toggle source
# File lib/sip_digest_auth.rb, line 31
def q(str)
  if str && str[0] != '"'
    str = "\"#{str}\""
  end
  str
end