|
| 1 | +Enables AD FS IdP |
| 2 | +Compatible with VS 2012 Identity and Access |
| 3 | + |
| 4 | +Basic Setup Companion based on: |
| 5 | +http://simplesamlphp.org/docs/stable/simplesamlphp-idp |
| 6 | + |
| 7 | +1. Enabling the Identity Provider functionality |
| 8 | + |
| 9 | +In config/config.php, the option will be: |
| 10 | +'enable.adfs-idp' => true |
| 11 | + |
| 12 | +2. Authentication module |
| 13 | + |
| 14 | +Follow as is. |
| 15 | + |
| 16 | +3. Configuring the authentication module |
| 17 | + |
| 18 | +In addition to enabling authentication module, enable adfs module by creating a file named 'enable' in modules/adfs |
| 19 | + |
| 20 | +In unix from installation directory: |
| 21 | +touch modules/adfs/enable |
| 22 | + |
| 23 | +4. Configuring the IdP |
| 24 | + |
| 25 | +ADFS IdP is configured by metadata stored in /metadata/adfs-idp-hosted.php and metadata/adfs-sp-remote.php |
| 26 | + |
| 27 | +If they are not present, copy them from /metadata-templates to the metadata |
| 28 | +directory. |
| 29 | + |
| 30 | +5. Using the uri NameFormat on attributes |
| 31 | + |
| 32 | +WS-FED likes a few parameters to be very specifically named. This is |
| 33 | +especially true if .net clients will be treating this as a Microsoft ADFS |
| 34 | +IdP. |
| 35 | + |
| 36 | +The recommended settings for /metadata/adfs-idp-hosted.php is: |
| 37 | + |
| 38 | +'authproc' => array( |
| 39 | + // Convert LDAP names to WS-Fed Claims. |
| 40 | + 100 => array('class' => 'core:AttributeMap', 'name2claim'), |
| 41 | +), |
| 42 | + |
| 43 | +6. Adding SPs to the IdP |
| 44 | + |
| 45 | +The minimal configuration for /metadata/adfs-sp-remote.php is: |
| 46 | + |
| 47 | +$metadata['urn:federation:localhost'] = array( |
| 48 | + 'prp' => 'https://localhost/adfs/ls/', |
| 49 | +); |
| 50 | + |
| 51 | +7. Creating a SSL self signed certificate |
| 52 | + |
| 53 | +Follow as is. |
| 54 | + |
| 55 | +8. Adding this IdP to other SPs |
| 56 | + |
| 57 | +Metadata should be available from /module.php/adfs/idp/metadata.php |
| 58 | + |
| 59 | +9. This module tries its best to emulate a Microsoft ADFS endpoint, and as |
| 60 | +such, it is simplest to test using a .net client. |
| 61 | + |
| 62 | +To build the test client, follow the tutorial at: |
| 63 | +http://code.msdn.microsoft.com/Claims-Aware-Web-d94a89ca |
| 64 | + |
| 65 | +This will build a .net app that uses a dev machine running STS (their name for |
| 66 | +an IdP). |
| 67 | + |
| 68 | +To point to your SimpleSamlPHP ADFS IdP, in VS 2012: |
| 69 | + |
| 70 | +a. Right-click the project in Solution Explorer and select the Identity and |
| 71 | +Access option. |
| 72 | + |
| 73 | +b. In the Identity and Access Window, Select Use a business identity |
| 74 | +provider. |
| 75 | + |
| 76 | +c. Under “Enter the path to the STS metadata document” enter the url you have |
| 77 | + |
| 78 | +from step 8. Something like |
| 79 | +https://.../module.php/adfs/idp/metadata.php |
| 80 | + |
| 81 | +d. Click Ok |
| 82 | + |
| 83 | +For more information in regards to .NET: http://msdn.microsoft.com/en-us/library/hh377151.aspx |
0 commit comments