protected function _generateHeader(Request $request, $credentials)
    {
        $path = $request->getUri()->getPath();
        $a1 = md5($credentials['username'] . ':' . $credentials['realm'] . ':' . $credentials['password']);
        $a2 = md5($request->getMethod() . ':' . $path);
        $nc = null;

        if (empty($credentials['qop'])) {
            $response = md5($a1 . ':' . $credentials['nonce'] . ':' . $a2);
        } else {
            $credentials['cnonce'] = uniqid();
            $nc = sprintf('%08x', $credentials['nc']++);
            $response = md5($a1 . ':' . $credentials['nonce'] . ':' . $nc . ':' . $credentials['cnonce'] . ':auth:' . $a2);
        }

        $authHeader = 'Digest ';
        $authHeader .= 'username="' . str_replace(['\\', '"'], ['\\\\', '\\"'], $credentials['username']) . '", ';
        $authHeader .= 'realm="' . $credentials['realm'] . '", ';
        $authHeader .= 'nonce="' . $credentials['nonce'] . '", ';
        $authHeader .= 'uri="' . $path . '", ';
        $authHeader .= 'response="' . $response . '"';
        if (!empty($credentials['opaque'])) {
            $authHeader .= ', opaque="' . $credentials['opaque'] . '"';
        }
        if (!empty($credentials['qop'])) {
            $authHeader .= ', qop="auth", nc=' . $nc . ', cnonce="' . $credentials['cnonce'] . '"';
        }

        return $authHeader;
    }
protected function _generateHeader(Request $request, $credentials)
    {
        $path = $request->getUri()->getPath();
        $a1 = md5($credentials['username'] . ':' . $credentials['realm'] . ':' . $credentials['password']);
        $a2 = md5($request->getMethod() . ':' . $path);
        $nc = null;

        if (empty($credentials['qop'])) {
            $response = md5($a1 . ':' . $credentials['nonce'] . ':' . $a2);
        } else {
            $credentials['cnonce'] = uniqid();
            $nc = sprintf('%08x', $credentials['nc']++);
            $response = md5($a1 . ':' . $credentials['nonce'] . ':' . $nc . ':' . $credentials['cnonce'] . ':auth:' . $a2);
        }

        $authHeader = 'Digest ';
        $authHeader .= 'username="' . str_replace(['\\', '"'], ['\\\\', '\\"'], $credentials['username']) . '", ';
        $authHeader .= 'realm="' . $credentials['realm'] . '", ';
        $authHeader .= 'nonce="' . $credentials['nonce'] . '", ';
        $authHeader .= 'uri="' . $path . '", ';
        $authHeader .= 'response="' . $response . '"';
        if (!empty($credentials['opaque'])) {
            $authHeader .= ', opaque="' . $credentials['opaque'] . '"';
        }
        if (!empty($credentials['qop'])) {
            $authHeader .= ', qop="auth", nc=' . $nc . ', cnonce="' . $credentials['cnonce'] . '"';
        }

        return $authHeader;
    }
protected function _generateHeader ( Request $ request , $ credentials ) { $ path = $ request -> getUri ( ) -> getPath ( ) ; $ a1 = md5 ( $ credentials [ 'username' ] . ':' . $ credentials [ 'realm' ] . ':' . $ credentials [ 'password' ] ) ; $ a2 = md5 ( $ request -> getMethod ( ) . ':' . $ path ) ; $ nc = null ; if ( empty ( $ credentials [ 'qop' ] ) ) { $ response = md5 ( $ a1 . ':' . $ credentials [ 'nonce' ] . ':' . $ a2 ) ; } else { $ credentials [ 'cnonce' ] = uniqid ( ) ; $ nc = sprintf ( '%08x' , $ credentials [ 'nc' ] ++ ) ; $ response = md5 ( $ a1 . ':' . $ credentials [ 'nonce' ] . ':' . $ nc . ':' . $ credentials [ 'cnonce' ] . ':auth:' . $ a2 ) ; } $ authHeader = 'Digest ' ; $ authHeader .= 'username="' . str_replace ( [ '\\' , '"' ] , [ '\\\\' , '\\"' ] , $ credentials [ 'username' ] ) . '", ' ; $ authHeader .= 'realm="' . $ credentials [ 'realm' ] . '", ' ; $ authHeader .= 'nonce="' . $ credentials [ 'nonce' ] . '", ' ; $ authHeader .= 'uri="' . $ path . '", ' ; $ authHeader .= 'response="' . $ response . '"' ; if ( ! empty ( $ credentials [ 'opaque' ] ) ) { $ authHeader .= ', opaque="' . $ credentials [ 'opaque' ] . '"' ; } if ( ! empty ( $ credentials [ 'qop' ] ) ) { $ authHeader .= ', qop="auth", nc=' . $ nc . ', cnonce="' . $ credentials [ 'cnonce' ] . '"' ; } return $ authHeader ; }
Generate the header Authorization

@param \Cake\Http\Client\Request $request The request object.
@param array $credentials Authentication credentials.
@return string
Generate the header Authorization