public static WwwAuthenticate buildFromString(String challenge) { WwwAuthenticate answer = new WwwAuthenticate(); AuthenticationHeaderScanner authenticationHeaderScanner = new AuthenticationHeaderScanner(challenge); authenticationHeaderScanner.scanPastDigestString(); String name = authenticationHeaderScanner.scanName(); while (null != name) { if ("nonce".Equals(name)) { String value = authenticationHeaderScanner.scanQuotedValue(); answer._nonce = value; } else if ("opaque".Equals(name)) { String value = authenticationHeaderScanner.scanQuotedValue(); answer._opaque = value; } else if ("qop".Equals(name)) { String value = authenticationHeaderScanner.scanQuotedValue(); answer._qop = value; } else if ("realm".Equals(name)) { String value = authenticationHeaderScanner.scanQuotedValue(); answer._realm = value; } else { // 'auth-param' in section 3.2.1 of RFC-2617 says ... // Any unrecognized directive MUST be ignored. String value = authenticationHeaderScanner.scanValue(); String warning = String.Format("unrecognised name-value pair. name = '{0}', value = '{1}'", name, value); log.warn(warning); } name = authenticationHeaderScanner.scanName(); } return answer; }
public WwwAuthenticate buildWwwAuthenticate() { WwwAuthenticate answer = new WwwAuthenticate(); answer.nonce = _nonce; answer.opaque = _opaque; answer.realm = _usersRealm; return answer; }