Example #1
0
 public function testCreateDeflatedSAMLRequestURLParameter()
 {
     $request = new OneLogin_Saml_AuthRequest($this->_settings);
     $authUrl = $request->getRedirectUrl();
     $this->assertRegExp('#^http://stuff\\.com\\?SAMLRequest=#', $authUrl);
     $exploded = explode('=', $authUrl);
     $payload = urldecode($exploded[sizeof($exploded) - 1]);
     $decoded = base64_decode($payload);
     $inflated = gzinflate($decoded);
     $this->assertRegExp('#^<samlp:AuthnRequest#', $inflated);
 }
Example #2
0
 /**
  * Tests the OneLogin_Saml_AuthRequest Constructor and
  * the getRedirectUrl method
  * The creation of a deflated SAML Request
  *
  * @covers OneLogin_Saml_AuthRequest
  * @covers OneLogin_Saml_AuthRequest::getRedirectUrl
  */
 public function testCreateDeflatedSAMLRequestURLParameter()
 {
     $request = new OneLogin_Saml_AuthRequest($this->_settings);
     $authUrl = $request->getRedirectUrl();
     $this->assertRegExp('#^http://stuff\\.com\\?SAMLRequest=#', $authUrl);
     parse_str(parse_url($authUrl, PHP_URL_QUERY), $exploded);
     // parse_url already urldecode de params so is not required.
     $payload = $exploded['SAMLRequest'];
     $decoded = base64_decode($payload);
     $inflated = gzinflate($decoded);
     $this->assertRegExp('#^<samlp:AuthnRequest#', $inflated);
     $request2 = new OneLogin_Saml_AuthRequest($this->_settings);
     $authUrl2 = $request2->getRedirectUrl('http://sp.example.com');
     $this->assertRegExp('#^http://stuff\\.com\\?SAMLRequest=#', $authUrl2);
     parse_str(parse_url($authUrl2, PHP_URL_QUERY), $exploded2);
     // parse_url already urldecode de params so is not required.
     $this->assertEquals('http://sp.example.com', $exploded2['RelayState']);
     $payload2 = $exploded2['SAMLRequest'];
     $decoded2 = base64_decode($payload2);
     $inflated2 = gzinflate($decoded2);
     $this->assertRegExp('#^<samlp:AuthnRequest#', $inflated2);
 }
Example #3
0
<?php

/**
 * SAMPLE Code to demonstrate how to initiate a SAML Authorization request
 *
 * When the user visits this URL, the browser will be redirected to the SSO
 * IdP with an authorization request. If successful, it will then be
 * redirected to the consume URL (specified in settings) with the auth
 * details.
 */
error_reporting(E_ALL);
$settings = null;
require 'settings.php';
$authRequest = new OneLogin_Saml_AuthRequest($settings);
$url = $authRequest->getRedirectUrl();
header("Location: {$url}");
 /**
  * Send Auth Request
  *
  * @author Ashish Kataria
  */
 public function SendAuthRequest()
 {
     $_authRequest = new OneLogin_Saml_AuthRequest($this->_samlSsoSettings);
     $_url = $_authRequest->getRedirectUrl();
     header("Location: {$_url}");
 }