[smarcet] - Refs #4619, #4586, #4583 - write some test for 4619, added banned ips logic and update cosent UI

This commit is contained in:
smarcet 2013-10-30 18:30:49 -03:00
parent b89670ed3c
commit fac1852446
21 changed files with 588 additions and 229 deletions

View File

@ -2,25 +2,26 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" name="Default" comment="[smarcet] - Refs #4576, #4578 : XRDS discovery and Authentication Workflow main classes">
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/exceptions/InvalidSessionTypeException.php" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/responses/OpenIdAssociationSessionUnsuccessfulResponse.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.gitignore" afterPath="$PROJECT_DIR$/.gitignore" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/services/AssociationService.php" afterPath="$PROJECT_DIR$/app/services/AssociationService.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/tests/DiffieHellmanTest.php" afterPath="$PROJECT_DIR$/app/tests/DiffieHellmanTest.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/openid/services/ITrustedSitesService.php" afterPath="$PROJECT_DIR$/app/libs/openid/services/ITrustedSitesService.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/services/LogService.php" afterPath="$PROJECT_DIR$/app/services/LogService.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/openid/requests/OpenIdAssociationSessionRequest.php" afterPath="$PROJECT_DIR$/app/libs/openid/requests/OpenIdAssociationSessionRequest.php" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/database/migrations/2013_10_30_203940_create_banned_ips.php" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/models/BannedIP.php" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/tests/index.html" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/controllers/DiscoveryController.php" afterPath="$PROJECT_DIR$/app/controllers/DiscoveryController.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/openid/services/IMementoOpenIdRequestService.php" afterPath="$PROJECT_DIR$/app/libs/openid/services/IMementoOpenIdRequestService.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/openid/services/IServerConfigurationService.php" afterPath="$PROJECT_DIR$/app/libs/openid/services/IServerConfigurationService.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/services/MementoRequestService.php" afterPath="$PROJECT_DIR$/app/services/MementoRequestService.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/openid/requests/OpenIdAuthenticationRequest.php" afterPath="$PROJECT_DIR$/app/libs/openid/requests/OpenIdAuthenticationRequest.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/openid/handlers/OpenIdAuthenticationRequestHandler.php" afterPath="$PROJECT_DIR$/app/libs/openid/handlers/OpenIdAuthenticationRequestHandler.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/openid/handlers/OpenIdCheckAuthenticationRequestHandler.php" afterPath="$PROJECT_DIR$/app/libs/openid/handlers/OpenIdCheckAuthenticationRequestHandler.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/openid/requests/OpenIdDHAssociationSessionRequest.php" afterPath="$PROJECT_DIR$/app/libs/openid/requests/OpenIdDHAssociationSessionRequest.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/strategies/OpenIdIndirectResponseStrategy.php" afterPath="$PROJECT_DIR$/app/strategies/OpenIdIndirectResponseStrategy.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/openid/OpenIdProtocol.php" afterPath="$PROJECT_DIR$/app/libs/openid/OpenIdProtocol.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/openid/handlers/OpenIdSessionAssociationRequestHandler.php" afterPath="$PROJECT_DIR$/app/libs/openid/handlers/OpenIdSessionAssociationRequestHandler.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/openid/requests/contexts/RequestContext.php" afterPath="$PROJECT_DIR$/app/libs/openid/requests/contexts/RequestContext.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/services/TrustedSitesService.php" afterPath="$PROJECT_DIR$/app/services/TrustedSitesService.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/tests/OpenIdProtocolTest.php" afterPath="$PROJECT_DIR$/app/tests/OpenIdProtocolTest.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/tests/OpenIdProviderControllerTest.php" afterPath="$PROJECT_DIR$/app/tests/OpenIdProviderControllerTest.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/services/ServerConfigurationService.php" afterPath="$PROJECT_DIR$/app/services/ServerConfigurationService.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/controllers/UserController.php" afterPath="$PROJECT_DIR$/app/controllers/UserController.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/views/extensions/ax.blade.php" afterPath="$PROJECT_DIR$/app/views/extensions/ax.blade.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/views/consent.blade.php" afterPath="$PROJECT_DIR$/app/views/consent.blade.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/filters.php" afterPath="$PROJECT_DIR$/app/filters.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/views/profile.blade.php" afterPath="$PROJECT_DIR$/app/views/profile.blade.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/routes.php" afterPath="$PROJECT_DIR$/app/routes.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/config/session.php" afterPath="$PROJECT_DIR$/app/config/session.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
</list>
<ignored path="openidIdp.iws" />
@ -55,66 +56,96 @@
</component>
<component name="FileEditorManager">
<leaf>
<file leaf-file-name="consent.blade.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/views/consent.blade.php">
<file leaf-file-name="filters.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/filters.php">
<provider selected="true" editor-type-id="text-editor">
<state line="7" column="31" selection-start="281" selection-end="294" vertical-scroll-proportion="-4.375" vertical-offset="0" max-vertical-offset="855">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="ax.blade.php" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/app/views/extensions/ax.blade.php">
<provider selected="true" editor-type-id="text-editor">
<state line="9" column="6" selection-start="272" selection-end="272" vertical-scroll-proportion="0.27054107" vertical-offset="0" max-vertical-offset="499">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="bootstrap.min.css" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/public/css/bootstrap.min.css">
<provider selected="true" editor-type-id="text-editor">
<state line="148" column="14" selection-start="9593" selection-end="9593" vertical-scroll-proportion="0.0" vertical-offset="2050" max-vertical-offset="13200">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="UserController.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/controllers/UserController.php">
<provider selected="true" editor-type-id="text-editor">
<state line="53" column="50" selection-start="2276" selection-end="2276" vertical-scroll-proportion="-11.875" vertical-offset="315" max-vertical-offset="2355">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="OpenIdAuthenticationRequestHandler.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/libs/openid/handlers/OpenIdAuthenticationRequestHandler.php">
<provider selected="true" editor-type-id="text-editor">
<state line="158" column="6" selection-start="7514" selection-end="7514" vertical-scroll-proportion="-2.76" vertical-offset="2142" max-vertical-offset="5685">
<state line="13" column="0" selection-start="478" selection-end="478" vertical-scroll-proportion="-1.8333334" vertical-offset="16" max-vertical-offset="1800">
<folding>
<element signature="e#193#243#0" expanded="true" />
<element signature="e#6#41#0" expanded="true" />
<element signature="e#72#477#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="RequestContext.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/libs/openid/requests/contexts/RequestContext.php">
<file leaf-file-name="2013_10_30_203940_create_banned_ips.php" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/app/database/migrations/2013_10_30_203940_create_banned_ips.php">
<provider selected="true" editor-type-id="text-editor">
<state line="16" column="0" selection-start="282" selection-end="282" vertical-scroll-proportion="-6.25" vertical-offset="0" max-vertical-offset="675">
<state line="17" column="63" selection-start="396" selection-end="396" vertical-scroll-proportion="0.5194805" vertical-offset="135" max-vertical-offset="555">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="login.blade.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/views/login.blade.php">
<file leaf-file-name="2013_10_17_211839_alter_trusted_sites_table.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/database/migrations/2013_10_17_211839_alter_trusted_sites_table.php">
<provider selected="true" editor-type-id="text-editor">
<state line="4" column="38" selection-start="77" selection-end="111" vertical-scroll-proportion="-2.5" vertical-offset="0" max-vertical-offset="690">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="5.625" vertical-offset="135" max-vertical-offset="570">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="2013_10_17_210730_create_associations_table.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/database/migrations/2013_10_17_210730_create_associations_table.php">
<provider selected="true" editor-type-id="text-editor">
<state line="28" column="52" selection-start="716" selection-end="761" vertical-scroll-proportion="-15.625" vertical-offset="45" max-vertical-offset="555">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="2013_10_17_210518_create_users_table.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/database/migrations/2013_10_17_210518_create_users_table.php">
<provider selected="true" editor-type-id="text-editor">
<state line="21" column="75" selection-start="618" selection-end="634" vertical-scroll-proportion="-5.625" vertical-offset="180" max-vertical-offset="675">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="2013_10_17_211051_create_trusted_sites_table.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/database/migrations/2013_10_17_211051_create_trusted_sites_table.php">
<provider selected="true" editor-type-id="text-editor">
<state line="15" column="11" selection-start="143" selection-end="466" vertical-scroll-proportion="-9.375" vertical-offset="0" max-vertical-offset="495">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="OpenIdAssociation.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/models/OpenIdAssociation.php">
<provider selected="true" editor-type-id="text-editor">
<state line="13" column="31" selection-start="269" selection-end="342" vertical-scroll-proportion="-4.375" vertical-offset="0" max-vertical-offset="1185">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Member.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/models/Member.php">
<provider selected="true" editor-type-id="text-editor">
<state line="10" column="29" selection-start="201" selection-end="217" vertical-scroll-proportion="-2.5" vertical-offset="0" max-vertical-offset="300">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="ServerConfigurationService.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/services/ServerConfigurationService.php">
<provider selected="true" editor-type-id="text-editor">
<state line="41" column="5" selection-start="948" selection-end="948" vertical-scroll-proportion="-4.4166665" vertical-offset="419" max-vertical-offset="825">
<folding>
<element signature="e#187#235#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="AssociationService.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/services/AssociationService.php">
<provider selected="true" editor-type-id="text-editor">
<state line="109" column="24" selection-start="4123" selection-end="4127" vertical-scroll-proportion="-6.25" vertical-offset="1305" max-vertical-offset="2265">
<folding />
</state>
</provider>
@ -138,22 +169,22 @@
<component name="IdeDocumentHistory">
<option name="changedFiles">
<list>
<option value="$PROJECT_DIR$/app/tests/DiffieHellmanTest.php" />
<option value="$PROJECT_DIR$/app/services/LogService.php" />
<option value="$PROJECT_DIR$/app/services/AssociationService.php" />
<option value="$PROJECT_DIR$/app/libs/openid/handlers/OpenIdCheckAuthenticationRequestHandler.php" />
<option value="$PROJECT_DIR$/app/libs/openid/handlers/OpenIdSessionAssociationRequestHandler.php" />
<option value="$PROJECT_DIR$/app/libs/openid/OpenIdProtocol.php" />
<option value="$PROJECT_DIR$/app/routes.php" />
<option value="$PROJECT_DIR$/app/views/profile.blade.php" />
<option value="$PROJECT_DIR$/app/libs/openid/services/ITrustedSitesService.php" />
<option value="$PROJECT_DIR$/app/services/TrustedSitesService.php" />
<option value="$PROJECT_DIR$/app/strategies/OpenIdIndirectResponseStrategy.php" />
<option value="$PROJECT_DIR$/.gitignore" />
<option value="$PROJECT_DIR$/app/libs/openid/requests/contexts/RequestContext.php" />
<option value="$PROJECT_DIR$/app/libs/openid/requests/OpenIdAuthenticationRequest.php" />
<option value="$PROJECT_DIR$/app/libs/openid/services/IMementoOpenIdRequestService.php" />
<option value="$PROJECT_DIR$/app/services/MementoRequestService.php" />
<option value="$PROJECT_DIR$/app/libs/openid/handlers/OpenIdAuthenticationRequestHandler.php" />
<option value="$PROJECT_DIR$/app/controllers/UserController.php" />
<option value="$PROJECT_DIR$/app/views/consent.blade.php" />
<option value="$PROJECT_DIR$/app/views/extensions/ax.blade.php" />
<option value="$PROJECT_DIR$/app/tests/OpenIdProviderControllerTest.php" />
<option value="$PROJECT_DIR$/app/tests/index.html" />
<option value="$PROJECT_DIR$/app/config/session.php" />
<option value="$PROJECT_DIR$/app/libs/openid/requests/OpenIdAssociationSessionRequest.php" />
<option value="$PROJECT_DIR$/app/libs/openid/services/IServerConfigurationService.php" />
<option value="$PROJECT_DIR$/app/filters.php" />
<option value="$PROJECT_DIR$/app/models/BannedIP.php" />
<option value="$PROJECT_DIR$/app/services/ServerConfigurationService.php" />
<option value="$PROJECT_DIR$/app/database/migrations/2013_10_30_203940_create_banned_ips.php" />
</list>
</option>
</component>
@ -262,6 +293,7 @@
<sortByType />
</navigator>
<panes>
<pane id="Scope" />
<pane id="ProjectPane">
<subPane>
<PATH>
@ -270,23 +302,164 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="openidIdp" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="openidIdp" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="openidIdp" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="openidIdp" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="vendor" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="openidIdp" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="openidIdp" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="public" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="openidIdp" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="openidIdp" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="bootstrap" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="openidIdp" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="openidIdp" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="app" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="openidIdp" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="openidIdp" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="app" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="services" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="openidIdp" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="openidIdp" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="app" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="models" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="openidIdp" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="openidIdp" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="app" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="database" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="openidIdp" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="openidIdp" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="app" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="database" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="migrations" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
<pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth0" value="73" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth1" value="92" />
<property name="options.splitter.main.proportions" value="0.3" />
<property name="recentsLimit" value="5" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatOrder1" value="1" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth0" value="72" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatOrder1" value="1" />
<property name="recentsLimit" value="5" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatOrder0" value="0" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/../../www.openstack.org" />
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth2" value="100" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth3" value="955" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth3" value="954" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth3" value="955" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth2" value="100" />
<property name="GoToClass.includeJavaFiles" value="false" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth1" value="92" />
@ -301,6 +474,7 @@
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeOrder1" value="1" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeOrder2" value="2" />
<property name="options.lastSelected" value="Configurable.PHP.FrameworkIntegration" />
<property name="DefaultHtmlFileTemplate" value="Html5" />
<property name="restartRequiresConfirmation" value="true" />
<property name="options.searchVisible" value="true" />
</component>
@ -318,18 +492,6 @@
<ConfigurationWrapper RunnerId="PhpUnitDebugRunner" />
<method />
</configuration>
<configuration default="false" name="DiscoveryControllerTest" type="PHPUnitRunConfigurationType" factoryName="PHPUnit" temporary="true">
<TestRunner class="DiscoveryControllerTest" file="$PROJECT_DIR$/app/tests/DiscoveryControllerTest.php" scope="Class" />
<RunnerSettings RunnerId="PhpRunner" />
<ConfigurationWrapper RunnerId="PhpRunner" />
<method />
</configuration>
<configuration default="false" name="DiffieHellmanTest.testAssocHandlerGenerator" type="PHPUnitRunConfigurationType" factoryName="PHPUnit" temporary="true">
<TestRunner class="DiffieHellmanTest" file="$PROJECT_DIR$/app/tests/DiffieHellmanTest.php" method="testAssocHandlerGenerator" scope="Method" />
<RunnerSettings RunnerId="PhpUnitDebugRunner" />
<ConfigurationWrapper RunnerId="PhpUnitDebugRunner" />
<method />
</configuration>
<configuration default="false" name="AssocHandleGenerator.php" type="JavascriptDebugType" factoryName="JavaScript Debug" singleton="true" temporary="true" uri="http://localhost:63342/openidIdp/app/libs/openid/helpers/AssocHandleGenerator.php">
<RunnerSettings RunnerId="JavascriptDebugRunner" />
<ConfigurationWrapper RunnerId="JavascriptDebugRunner" />
@ -341,6 +503,18 @@
<ConfigurationWrapper RunnerId="PhpUnitDebugRunner" />
<method />
</configuration>
<configuration default="false" name="OpenIdProtocolTest.testCheckId_immediate" type="PHPUnitRunConfigurationType" factoryName="PHPUnit" temporary="true">
<TestRunner class="OpenIdProtocolTest" file="$PROJECT_DIR$/app/tests/OpenIdProtocolTest.php" method="testCheckId_immediate" scope="Method" />
<RunnerSettings RunnerId="PhpUnitDebugRunner" />
<ConfigurationWrapper RunnerId="PhpUnitDebugRunner" />
<method />
</configuration>
<configuration default="false" name="OpenIdProtocolTest" type="PHPUnitRunConfigurationType" factoryName="PHPUnit" temporary="true">
<TestRunner class="OpenIdProtocolTest" file="$PROJECT_DIR$/app/tests/OpenIdProtocolTest.php" scope="Class" />
<RunnerSettings RunnerId="PhpUnitDebugRunner" />
<ConfigurationWrapper RunnerId="PhpUnitDebugRunner" />
<method />
</configuration>
<configuration default="true" type="PHPUnitRunConfigurationType" factoryName="PHPUnit">
<TestRunner />
<method />
@ -367,18 +541,18 @@
<list size="6">
<item index="0" class="java.lang.String" itemvalue="PHP Web Application.dev.openstackid.com" />
<item index="1" class="java.lang.String" itemvalue="PHPUnit.DiffieHellmanTest" />
<item index="2" class="java.lang.String" itemvalue="PHPUnit.DiscoveryControllerTest" />
<item index="3" class="java.lang.String" itemvalue="PHPUnit.DiffieHellmanTest.testAssocHandlerGenerator" />
<item index="4" class="java.lang.String" itemvalue="JavaScript Debug.AssocHandleGenerator.php" />
<item index="5" class="java.lang.String" itemvalue="PHPUnit.DiffieHellmanTest.testAssociation" />
<item index="2" class="java.lang.String" itemvalue="JavaScript Debug.AssocHandleGenerator.php" />
<item index="3" class="java.lang.String" itemvalue="PHPUnit.DiffieHellmanTest.testAssociation" />
<item index="4" class="java.lang.String" itemvalue="PHPUnit.OpenIdProtocolTest.testCheckId_immediate" />
<item index="5" class="java.lang.String" itemvalue="PHPUnit.OpenIdProtocolTest" />
</list>
<recent_temporary>
<list size="5">
<item index="0" class="java.lang.String" itemvalue="PHPUnit.DiffieHellmanTest.testAssociation" />
<item index="1" class="java.lang.String" itemvalue="PHPUnit.DiffieHellmanTest" />
<item index="2" class="java.lang.String" itemvalue="JavaScript Debug.AssocHandleGenerator.php" />
<item index="3" class="java.lang.String" itemvalue="PHPUnit.DiffieHellmanTest.testAssocHandlerGenerator" />
<item index="4" class="java.lang.String" itemvalue="PHPUnit.DiscoveryControllerTest" />
<item index="0" class="java.lang.String" itemvalue="PHPUnit.OpenIdProtocolTest" />
<item index="1" class="java.lang.String" itemvalue="PHPUnit.OpenIdProtocolTest.testCheckId_immediate" />
<item index="2" class="java.lang.String" itemvalue="PHPUnit.DiffieHellmanTest.testAssociation" />
<item index="3" class="java.lang.String" itemvalue="PHPUnit.DiffieHellmanTest" />
<item index="4" class="java.lang.String" itemvalue="JavaScript Debug.AssocHandleGenerator.php" />
</list>
</recent_temporary>
</component>
@ -435,14 +609,15 @@
</component>
<component name="ToolWindowManager">
<frame x="65" y="38" width="1301" height="728" extended-state="0" />
<editor active="true" />
<editor active="false" />
<layout>
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32871974" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32871974" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.24913494" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3298639" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.3098479" sideWeight="0.66608995" order="0" side_tool="false" content_ui="combo" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.31545237" sideWeight="0.66608995" order="0" side_tool="false" content_ui="combo" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33391005" sideWeight="0.6180945" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3544093" sideWeight="0.38190553" order="7" side_tool="true" content_ui="tabs" />
@ -451,7 +626,6 @@
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.24913494" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="PHP-CGI Server" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32871974" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
@ -478,14 +652,14 @@
<option name="timeStamp" value="351" />
</line-breakpoint>
<line-breakpoint enabled="true" type="php">
<url>file://$PROJECT_DIR$/app/controllers/UserController.php</url>
<line>161</line>
<option name="timeStamp" value="362" />
<url>file://$PROJECT_DIR$/app/libs/openid/handlers/OpenIdAuthenticationRequestHandler.php</url>
<line>146</line>
<option name="timeStamp" value="388" />
</line-breakpoint>
<line-breakpoint enabled="true" type="php">
<url>file://$PROJECT_DIR$/app/services/TrustedSitesService.php</url>
<line>30</line>
<option name="timeStamp" value="363" />
<url>file://$PROJECT_DIR$/app/libs/openid/handlers/OpenIdAuthenticationRequestHandler.php</url>
<line>91</line>
<option name="timeStamp" value="391" />
</line-breakpoint>
</breakpoints>
<breakpoints-dialog>
@ -495,110 +669,123 @@
</selected-grouping-rules>
</breakpoints-dialog>
</breakpoints-dialog>
<option name="time" value="370" />
<option name="time" value="397" />
</breakpoint-manager>
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/app/controllers/DiscoveryController.php">
<entry file="file://$PROJECT_DIR$/app/start/global.php">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1095" />
<state line="62" column="29" selection-start="1853" selection-end="1881" vertical-scroll-proportion="-10.625" vertical-offset="675" max-vertical-offset="1470">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/libs/openid/requests/OpenIdAssociationSessionRequest.php">
<provider selected="true" editor-type-id="text-editor">
<state line="15" column="6" selection-start="285" selection-end="285" vertical-scroll-proportion="-4.375" vertical-offset="0" max-vertical-offset="960">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/vendor/laravel/framework/src/Illuminate/Http/Request.php">
<provider selected="true" editor-type-id="text-editor">
<state line="289" column="26" selection-start="5410" selection-end="5416" vertical-scroll-proportion="-3.125" vertical-offset="4230" max-vertical-offset="7605">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/libs/openid/services/Registry.php">
<provider selected="true" editor-type-id="text-editor">
<state line="12" column="6" selection-start="201" selection-end="201" vertical-scroll-proportion="-3.75" vertical-offset="0" max-vertical-offset="600">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/libs/openid/services/IServerConfigurationService.php">
<provider selected="true" editor-type-id="text-editor">
<state line="19" column="47" selection-start="578" selection-end="578" vertical-scroll-proportion="-8.125" vertical-offset="0" max-vertical-offset="300">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/filters.php">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1665" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/start/global.php">
<provider selected="true" editor-type-id="text-editor">
<state line="62" column="29" selection-start="1855" selection-end="1881" vertical-scroll-proportion="-6.875" vertical-offset="765" max-vertical-offset="1470" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/libs/openid/responses/OpenIdIndirectGenericErrorResponse.php">
<provider selected="true" editor-type-id="text-editor">
<state line="21" column="0" selection-start="483" selection-end="483" vertical-scroll-proportion="-3.5416667" vertical-offset="110" max-vertical-offset="525">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/controllers/OpenIdProviderController.php">
<provider selected="true" editor-type-id="text-editor">
<state line="34" column="0" selection-start="1196" selection-end="1196" vertical-scroll-proportion="-3.375" vertical-offset="279" max-vertical-offset="540" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/strategies/OpenIdIndirectResponseStrategy.php">
<provider selected="true" editor-type-id="text-editor">
<state line="20" column="20" selection-start="557" selection-end="557" vertical-scroll-proportion="-5.25" vertical-offset="54" max-vertical-offset="345" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.gitignore">
<provider selected="true" editor-type-id="text-editor">
<state line="8" column="0" selection-start="105" selection-end="105" vertical-scroll-proportion="0.2189781" vertical-offset="0" max-vertical-offset="548">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/bootstrap/start.php">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1245">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/views/profile.blade.php">
<provider selected="true" editor-type-id="text-editor">
<state line="12" column="268" selection-start="633" selection-end="633" vertical-scroll-proportion="-7.5" vertical-offset="0" max-vertical-offset="675">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/views/login.blade.php">
<provider selected="true" editor-type-id="text-editor">
<state line="4" column="38" selection-start="77" selection-end="111" vertical-scroll-proportion="-2.5" vertical-offset="0" max-vertical-offset="690">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/libs/openid/handlers/OpenIdAuthenticationRequestHandler.php">
<provider selected="true" editor-type-id="text-editor">
<state line="158" column="6" selection-start="7514" selection-end="7514" vertical-scroll-proportion="-2.76" vertical-offset="2142" max-vertical-offset="5685">
<state line="13" column="0" selection-start="478" selection-end="478" vertical-scroll-proportion="-1.8333334" vertical-offset="16" max-vertical-offset="1800">
<folding>
<element signature="e#193#243#0" expanded="true" />
<element signature="e#6#41#0" expanded="true" />
<element signature="e#72#477#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/libs/openid/requests/contexts/RequestContext.php">
<entry file="file://$PROJECT_DIR$/app/models/Member.php">
<provider selected="true" editor-type-id="text-editor">
<state line="16" column="0" selection-start="282" selection-end="282" vertical-scroll-proportion="-6.25" vertical-offset="0" max-vertical-offset="675">
<state line="10" column="29" selection-start="201" selection-end="217" vertical-scroll-proportion="-2.5" vertical-offset="0" max-vertical-offset="300">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/controllers/UserController.php">
<entry file="file://$PROJECT_DIR$/app/models/OpenIdAssociation.php">
<provider selected="true" editor-type-id="text-editor">
<state line="53" column="50" selection-start="2276" selection-end="2276" vertical-scroll-proportion="-11.875" vertical-offset="315" max-vertical-offset="2355">
<state line="13" column="31" selection-start="269" selection-end="342" vertical-scroll-proportion="-4.375" vertical-offset="0" max-vertical-offset="1185">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/views/consent.blade.php">
<entry file="file://$PROJECT_DIR$/app/database/migrations/2013_10_17_211051_create_trusted_sites_table.php">
<provider selected="true" editor-type-id="text-editor">
<state line="7" column="31" selection-start="281" selection-end="294" vertical-scroll-proportion="-4.375" vertical-offset="0" max-vertical-offset="855">
<state line="15" column="11" selection-start="143" selection-end="466" vertical-scroll-proportion="-9.375" vertical-offset="0" max-vertical-offset="495">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/public/css/bootstrap.min.css">
<entry file="file://$PROJECT_DIR$/app/models/BannedIP.php">
<provider selected="true" editor-type-id="text-editor">
<state line="148" column="14" selection-start="9593" selection-end="9593" vertical-scroll-proportion="0.0" vertical-offset="2050" max-vertical-offset="13200">
<state line="8" column="14" selection-start="97" selection-end="105" vertical-scroll-proportion="-1.875" vertical-offset="0" max-vertical-offset="180">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/views/extensions/ax.blade.php">
<entry file="file://$PROJECT_DIR$/app/services/AssociationService.php">
<provider selected="true" editor-type-id="text-editor">
<state line="9" column="6" selection-start="272" selection-end="272" vertical-scroll-proportion="0.27054107" vertical-offset="0" max-vertical-offset="499">
<state line="109" column="24" selection-start="4123" selection-end="4127" vertical-scroll-proportion="-6.25" vertical-offset="1305" max-vertical-offset="2265">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/services/ServerConfigurationService.php">
<provider selected="true" editor-type-id="text-editor">
<state line="41" column="5" selection-start="948" selection-end="948" vertical-scroll-proportion="-4.4166665" vertical-offset="419" max-vertical-offset="825">
<folding>
<element signature="e#187#235#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/database/migrations/2013_10_17_211839_alter_trusted_sites_table.php">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="5.625" vertical-offset="135" max-vertical-offset="570">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/database/migrations/2013_10_17_210730_create_associations_table.php">
<provider selected="true" editor-type-id="text-editor">
<state line="28" column="52" selection-start="716" selection-end="761" vertical-scroll-proportion="-15.625" vertical-offset="45" max-vertical-offset="555">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/database/migrations/2013_10_17_210518_create_users_table.php">
<provider selected="true" editor-type-id="text-editor">
<state line="21" column="75" selection-start="618" selection-end="634" vertical-scroll-proportion="-5.625" vertical-offset="180" max-vertical-offset="675">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/database/migrations/2013_10_30_203940_create_banned_ips.php">
<provider selected="true" editor-type-id="text-editor">
<state line="17" column="63" selection-start="396" selection-end="396" vertical-scroll-proportion="0.5194805" vertical-offset="135" max-vertical-offset="555">
<folding />
</state>
</provider>

View File

@ -94,7 +94,7 @@ return array(
|
*/
'cookie' => 'laravel_session',
'cookie' => 'openstackid_session',
/*
|--------------------------------------------------------------------------

View File

@ -61,11 +61,11 @@ class DiscoveryController extends BaseController {
//This field contains a semicolon-separated list of representation schemes
//which will be accepted in the response to this request.
$accept = Request::header('Accept');
$claimed_identifier = $this->server_config_service->getUserIdentityEndpointURL($identifier);
$local_identifier = $this->server_config_service->getUserIdentityEndpointURL($identifier);
$accept_values = explode(",",$accept);
if(in_array(XRDSDocumentBuilder::ContentType,$accept_values))
{
$response = Response::make($this->openid_protocol->getXRDSDiscovery(IOpenIdProtocol::OpenIdXRDSModeUser,$claimed_identifier), 200);
$response = Response::make($this->openid_protocol->getXRDSDiscovery(IOpenIdProtocol::OpenIdXRDSModeUser,$local_identifier), 200);
$response->header('Content-Type', "application/xrds+xml; charset=UTF-8");
}
else{

View File

@ -110,7 +110,7 @@ class UserController extends BaseController{
$trust_action = input::get("trust");
if(!is_null($trust_action) && is_array($trust_action)){
$this->auth_service->setUserAuthorizationResponse($trust_action[0]);
return Redirect::to('/accounts/openid/v2');
return Redirect::action('OpenIdProviderController@op_endpoint');
}
}
@ -160,6 +160,6 @@ class UserController extends BaseController{
public function get_deleteTrustedSite($id){
$this->trusted_sites_service->delTrustedSite($id);
return Response::json(array('success' => true));
return Redirect::action("UserController@getProfile");
}
}

View File

@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Migrations\Migration;
class CreateBannedIps extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('banned_ips', function($table)
{
$table->bigIncrements('id')->unsigned();
$table->string('ip',1024);
$table->bigInteger("hits")->unsigned()->default(1);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('banned_ips');
}
}

View File

@ -1,5 +1,6 @@
<?php
use openid\services\ServiceCatalog;
use openid\services\Registry;
/*
|--------------------------------------------------------------------------
| Application & Route Filters
@ -13,7 +14,16 @@
App::before(function($request)
{
$ip = $request->server('HTTP_CLIENT_IP');
if(empty($ip))
$ip = $request->server('HTTP_X_FORWARDED_FOR');
if(empty($ip))
$ip = $request->server('REMOTE_ADDR');
$server_configuration_service = Registry::getInstance()->get(ServiceCatalog::ServerConfigurationService);
if(!$server_configuration_service->isValidIP($ip))
return View::make('404');
});
@ -105,7 +115,6 @@ Route::filter("openid.save.request",function(){
});
use openid\services\Registry;
Route::filter("ssl",function(){
if (!Request::secure()){

View File

@ -168,10 +168,10 @@ class OpenIdProtocol implements IOpenIdProtocol {
}
public function getXRDSDiscovery($mode, $canonical_id=null){
//todo: check valid mode
$server_extension_service = \App::make("openid\\services\\IServerExtensionsService");
$server_config_service = \App::make("openid\\services\\IServerConfigurationService");
$active_extensions = $server_extension_service->getAllActiveExtensions();
$server_extension_service = Registry::getInstance()->get(ServiceCatalog::ServerExtensionsService);
$server_config_service = Registry::getInstance()->get(ServiceCatalog::ServerConfigurationService);
$active_extensions = $server_extension_service->getAllActiveExtensions();
$extensions = array();
foreach($active_extensions as $ext){
array_push($extensions,$ext->getNamespace());
@ -180,7 +180,7 @@ class OpenIdProtocol implements IOpenIdProtocol {
$services = array();
array_push($services, new XRDSService(0, $mode == IOpenIdProtocol::OpenIdXRDSModeUser ? self::ClaimedIdentifierType: self::OPIdentifierType,$server_config_service->getOPEndpointURL(),$extensions,$canonical_id));
$builder = new XRDSDocumentBuilder($services,$canonical_id);
$xrds = $builder->render();
$xrds = $builder->render();
return $xrds;
}

View File

@ -144,6 +144,7 @@ class OpenIdAuthenticationRequestHandler extends OpenIdMessageHandler
* so associate $nonce with signature and realm
*/
$this->nonce_service->associateNonce($nonce, $response->getSig(),$realm);
$this->mementoRequestService->clearCurrentRequest();
return $response;
}
@ -275,7 +276,7 @@ class OpenIdAuthenticationRequestHandler extends OpenIdMessageHandler
*/
protected function doImmediateMode(){
if (!$this->authService->isUserLogged()) {
return new OpenIdImmediateNegativeAssertion;
return new OpenIdImmediateNegativeAssertion($this->current_request->getReturnTo());
}
$currentUser = $this->authService->getCurrentUser();
$site = $this->trusted_sites_service->getTrustedSite($currentUser, $this->current_request->getRealm());
@ -289,7 +290,7 @@ class OpenIdAuthenticationRequestHandler extends OpenIdMessageHandler
case IAuthService::AuthorizationResponse_DenyForever:
{
// black listed site by user
return new OpenIdIndirectGenericErrorResponse(sprintf(OpenIdErrorMessages::RealmNotAllowedByUserMessage, $site->getRealm()));
return new OpenIdIndirectGenericErrorResponse(sprintf(OpenIdErrorMessages::RealmNotAllowedByUserMessage, $site->getRealm()),null,null,$this->current_request);
}
break;
case IAuthService::AuthorizationResponse_AllowForever:
@ -311,7 +312,7 @@ class OpenIdAuthenticationRequestHandler extends OpenIdMessageHandler
}
break;
default:
return new OpenIdIndirectGenericErrorResponse(sprintf(OpenIdErrorMessages::RealmNotAllowedByUserMessage, $this->current_request->getRealm()));
return new OpenIdIndirectGenericErrorResponse(sprintf(OpenIdErrorMessages::RealmNotAllowedByUserMessage, $this->current_request->getRealm()),null,null,$this->current_request);
break;
}
}

View File

@ -13,6 +13,8 @@ use openid\requests\OpenIdRequest;
use openid\OpenIdMessage;
use openid\OpenIdProtocol;
use openid\helpers\OpenIdUriHelper;
use openid\services\Registry;
use openid\services\ServiceCatalog;
class OpenIdAuthenticationRequest extends OpenIdRequest {
@ -52,33 +54,52 @@ class OpenIdAuthenticationRequest extends OpenIdRequest {
/**
* @param $claimed_id
* @param $identity
* @param $claimed_id The Claimed Identifier.
* @param $identity The OP-Local Identifier.
* @return bool
*/
private function isValidIdentifier($claimed_id,$identity){
if($claimed_id==$identity && $identity==OpenIdProtocol::IdentifierSelectType && $claimed_id==OpenIdProtocol::IdentifierSelectType)
return true;
if($claimed_id==$identity && OpenIdUriHelper::isValidUrl($identity)){
//todo: check valid user?
/*
* openid.claimed_id" and "openid.identity" SHALL be either both present or both absent.
* If neither value is present, the assertion is not about an identifier, and will contain
* other information in its payload, using extensions.
*/
$server_configuration_service = Registry::getInstance()->get(ServiceCatalog::ServerConfigurationService);
if(is_null($claimed_id) && is_null($identity))
return false;
//http://specs.openid.net/auth/2.0/identifier_select
if($claimed_id==$identity && $identity==OpenIdProtocol::IdentifierSelectType)
return true;
if(OpenIdUriHelper::isValidUrl($claimed_id) && OpenIdUriHelper::isValidUrl($identity)){
$identity_url_pattern = $server_configuration_service->getUserIdentityEndpointURL("@identifier");
$url_parts = explode("@",$identity_url_pattern,2);
$base_identity_url = $url_parts[0];
if(strpos($identity,$base_identity_url)!==false)
return true;
if(strpos($claimed_id,$base_identity_url)!==false)
return true;
}
return false;
}
public function IsValid(){
$return_to = $this->getReturnTo();
$claimed_id = $this->getClaimedId();
$identity = $this->getIdentity();
$mode = $this->getMode();
$realm = $this->getRealm();
$return_to = $this->getReturnTo();
$claimed_id = $this->getClaimedId();
$identity = $this->getIdentity();
$mode = $this->getMode();
$realm = $this->getRealm();
$valid_realm = OpenIdUriHelper::checkRealm($realm,$return_to);
$valid_id = $this->isValidIdentifier($claimed_id,$identity);
return !empty($return_to)
&& !empty($realm)
&& OpenIdUriHelper::checkRealm($realm,$return_to)
&& $valid_realm
&& !empty($claimed_id)
&& !empty($identity)
&& $this->isValidIdentifier($claimed_id,$identity)
&& $valid_id
&& !empty($mode) && ($mode == OpenIdProtocol::ImmediateMode || $mode == OpenIdProtocol::SetupMode);
}
}
}

View File

@ -25,4 +25,6 @@ interface IMementoOpenIdRequestService {
* @return OpenIdMessage;
*/
public function getCurrentRequest();
public function clearCurrentRequest();
}

View File

@ -17,4 +17,5 @@ interface IServerConfigurationService {
public function getSessionAssociationLifetime();
public function getMaxFailedLoginAttempts();
public function getNonceLifetime();
public function isValidIP($remote_address);
}

12
app/models/BannedIP.php Normal file
View File

@ -0,0 +1,12 @@
<?php
/**
* Created by PhpStorm.
* User: smarcet
* Date: 10/30/13
* Time: 5:38 PM
*/
class BannedIP extends Eloquent {
protected $table = 'banned_ips';
public $timestamps = false;
}

View File

@ -29,8 +29,8 @@ Route::group(["before"=>"ssl"],function(){
Route::get("/accounts/user/ud/{identifier}","DiscoveryController@user");
//op endpoint url
Route::post('/accounts/openid/v2','OpenIdProviderController@op_endpoint');
Route::get('/accounts/openid/v2','OpenIdProviderController@op_endpoint');
Route::post('/accounts/openid2','OpenIdProviderController@op_endpoint');
Route::get('/accounts/openid2','OpenIdProviderController@op_endpoint');
//user interaction
Route::get('/accounts/user/login',"UserController@getLogin");

View File

@ -24,7 +24,7 @@ class MementoRequestService implements IMementoOpenIdRequestService {
$input = Input::all();
$openid_params = array();
foreach($input as $key=>$value){
if(stristr($key,"openid")){
if(stristr($key,"openid")!==false){
array_push($openid_params,$key);
}
}
@ -36,7 +36,7 @@ class MementoRequestService implements IMementoOpenIdRequestService {
$old_data = Input::old();
$openid_params = array();
foreach($old_data as $key=>$value){
if(stristr($key,"openid")){
if(stristr($key,"openid")!==false){
array_push($openid_params,$key);
}
}
@ -57,7 +57,7 @@ class MementoRequestService implements IMementoOpenIdRequestService {
$old_data = Input::old();
$openid_params = array();
foreach($old_data as $key=>$value){
if(stristr($key,"openid")){
if(stristr($key,"openid")!==false){
$openid_params[$key]=$value;
}
}
@ -67,4 +67,20 @@ class MementoRequestService implements IMementoOpenIdRequestService {
}
return $msg;
}
public function clearCurrentRequest(){
$old_data = Input::old();
$openid_params = array();
foreach($old_data as $key=>$value){
if(stristr($key,"openid")!==false){
array_push($openid_params,$key);
}
}
if(count($openid_params)>0){
foreach($openid_params as $open_id_param){
Session::forget($open_id_param);
Session::remove($open_id_param);
}
}
}
}

View File

@ -9,7 +9,7 @@
namespace services;
use openid\services\IServerConfigurationService;
use \BannedIP;
class ServerConfigurationService implements IServerConfigurationService{
public function getUserIdentityEndpointURL($identifier){
@ -40,4 +40,17 @@ class ServerConfigurationService implements IServerConfigurationService{
public function getNonceLifetime(){
return 360;
}
public function isValidIP($remote_address){
$res = true;
$banned_ip = BannedIP::where("ip","=",$remote_address)->first();
if($banned_ip){
$banned_ip->hits = $banned_ip->hits + 1;
$banned_ip->Save();
sleep(2 ^ $banned_ip->hits);
$res = false;
}
return $res;
}
}

View File

@ -11,9 +11,65 @@ use openid\OpenIdProtocol;
class OpenIdProtocolTest extends TestCase {
public function testProtocolIdpDiscovery(){
$protocol = App::make("openid\OpenIdProtocol");
$xrds = $protocol->getXRDSDiscovery();
$this->assertTrue(!empty($xrds) && str_contains($xrds,"http://specs.openid.net/auth/2.0/server") && str_contains($xrds,"http://openid.net/srv/ax/1.0") && str_contains($xrds,"http://specs.openid.net/extensions/pape/1.0"));
public function testCheckId_immediate_Invalid(){
$params = array(
OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_NS) => OpenIdProtocol::OpenID2MessageType,
OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Mode) => OpenIdProtocol::ImmediateMode,
OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Realm) => "*.uk",//invalid realm
OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_ReturnTo) => "http://dev.openstack.org/login",
OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Identity) => "https://dev.openstackid.com/sebastian.marcet",
OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_ClaimedId) => "https://dev.openstackid.com/sebastian.marcet",
);
$response = $this->action("POST","OpenIdProviderController@op_endpoint",$params);
$status = $response->getStatusCode();
$content = $response->getContent();
$target_url = $response->getTargetUrl();
$url = explode('?',$target_url,2);
$openid_response = array();
$query_params = explode('&',$url[1]);
foreach($query_params as $param){
$aux = explode('=',$param,2);
$openid_response[$aux[0]] = $aux[1];
}
$this->assertTrue(isset($openid_response[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Error)]));
$this->assertTrue(isset($openid_response[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_NS)]));
$this->assertTrue(isset($openid_response[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_ReturnTo)]));
$this->assertTrue($status==302);
}
}
public function testCheckId_immediate(){
$params = array(
OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_NS) => OpenIdProtocol::OpenID2MessageType,
OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Mode) => OpenIdProtocol::ImmediateMode,
OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Realm) => "http://dev.openstack.org",
OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_ReturnTo) => "http://dev.openstack.org/login",
OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Identity) => "https://dev.openstackid.com/sebastian.marcet",
OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_ClaimedId) => "https://dev.openstackid.com/sebastian.marcet",
);
$response = $this->action("POST","OpenIdProviderController@op_endpoint",$params);
$status = $response->getStatusCode();
$content = $response->getContent();
$target_url = $response->getTargetUrl();
$url = explode('?',$target_url,2);
$openid_response = array();
$query_params = explode('&',$url[1]);
foreach($query_params as $param){
$aux = explode('=',$param,2);
$openid_response[$aux[0]] = $aux[1];
}
$this->assertTrue(isset($openid_response[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Mode)]));
$mode = $openid_response[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Mode)];
$this->assertTrue($mode == OpenIdProtocol::SetupNeededMode);
$this->assertTrue(isset($openid_response[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_NS)]));
$this->assertTrue(isset($openid_response[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_ReturnTo)]));
$this->assertTrue($status==302);
}
}

View File

@ -19,6 +19,6 @@ class OpenIdProviderControllerTest extends TestCase {
"openid.mode"=>"checkid_setup"
);
$response = $this->client->request("POST","/accounts/openid/v2",$params);
$response =$this->action("POST","OpenIdProviderController@op_endpoint",$params);
}
}

11
app/tests/index.html Normal file
View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel='openid2.provider' href="https://dev.openstackid.com/"></link>
<link rel='openid2.local_id' href="https://dev.openstackid.com/sebastian.marcet"></link>
</head>
<body>
<h1>Sebastian Marcet Claimed Identity</h1>
</body>
</html>

View File

@ -1,16 +1,14 @@
@extends('layout')
@section('content')
<div class="container">
<h4>Welcome to OpenstackId</h4>
<h4>OpenstackId - Openid verification</h4>
{{ Form::open(array('url' => '/accounts/user/consent','id'=>'authorization_form', 'method' => 'post', "autocomplete" => "off")) }}
<fieldset>
<legend>
This Site {{ $realm }} is requesting following information
Sign in to <b>{{ $realm }}</b> using your openstackid
</legend>
<label>
Sign in to <b>{{ $realm }}</b> using your openstackid ({{$openid}})
</label>
<p>A site identifying itself as <b>{{ $realm }}</b></p>
<p>has asked us for confirmation that <b>({{$openid}})</b> is your identity URL</p>
<div>
<label class="radio">
{{ Form::radio('trust[]', 'AllowOnce','true',array('id'=>'allow_once','class'=>'input-block-level')) }}

View File

@ -1,6 +1,6 @@
@if(count($attributes)>0)
<label>
* The following information will be shared:
The site has also requested some personal information
</label>
<ul class="unstyled list-inline">
@foreach ($attributes as $attr)

View File

@ -10,7 +10,7 @@
<h3>Trusted Sites</h3>
<ul>
@foreach ($sites as $site)
<li><div><span>Realm {{ $site->getRealm() }} - Policy {{ $site->getAuthorizationPolicy() }}</span>&nbsp;{{ HTML::link('','Edit',array('class'=>'btn edit-realm')) }}&nbsp;{{ HTML::link(URL::action("UserController@get_deleteTrustedSite",array("id"=>$site->id)),'Delete',array('class'=>'btn del-realm')) }}</div></li>
<li><div><span>Realm {{ $site->getRealm() }} - Policy {{ $site->getAuthorizationPolicy() }}</span>&nbsp;{{ HTML::link(URL::action("UserController@get_deleteTrustedSite",array("id"=>$site->id)),'Delete',array('class'=>'btn del-realm')) }}</div></li>
@endforeach
</ul>
</div>
@ -20,7 +20,7 @@
<script type="application/javascript">
$(document).ready(function() {
$("#trusted_sites").on('click',".del-realm",function(event){
/*$("#trusted_sites").on('click',".del-realm",function(event){
var url = $(this).attr("href") ;
$.ajax({
url: url,
@ -34,7 +34,7 @@
});
event.preventDefault();
return false;
});
});*/
});
</script>
@stop