function OpenIDTestCase::testOpenidSignature

Test _openid_signature().

File

modules/openid/openid.test, line 700

Class

OpenIDTestCase
Test internal helper functions.

Code

function testOpenidSignature() {
    // Test that signature is calculated according to OpenID Authentication 2.0,
    // section 6.1. In the following array, only the two first entries should be
    // included in the calculation, because the substring following the period
    // is mentioned in the third argument for _openid_signature(). The last
    // entry should not be included, because it does not start with "openid.".
    $response = array(
        'openid.foo' => 'abc1',
        'openid.bar' => 'abc2',
        'openid.baz' => 'abc3',
        'foobar.foo' => 'abc4',
    );
    $association = new stdClass();
    $association->mac_key = "1234567890abcdefghij\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9";
    $this->assertEqual(_openid_signature($association, $response, array(
        'foo',
        'bar',
    )), 'QnKZQzSFstT+GNiJDFOptdcZjrc=', 'Expected signature calculated.');
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.