[smarcet] - Refs # 4577 - Signature verification Request Handle
Dumb Mode
This commit is contained in:
parent
19b4ba6111
commit
63aae9b805
|
@ -2,22 +2,40 @@
|
|||
<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/views/profile.blade.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/services/INonceService.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/services/NonceService.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/requests/OpenIdCheckAuthenticationRequest.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/responses/OpenIdCheckAuthenticationResponse.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/exceptions/ReplayAttackException.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/storage/.gitkeep" afterPath="$PROJECT_DIR$/app/storage/.gitkeep" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/services/AssociationService.php" afterPath="$PROJECT_DIR$/app/services/AssociationService.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/controllers/DiscoveryController.php" afterPath="$PROJECT_DIR$/app/controllers/DiscoveryController.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/controllers/HomeController.php" afterPath="$PROJECT_DIR$/app/controllers/HomeController.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/libs/openid/services/IAssociationService.php" afterPath="$PROJECT_DIR$/app/libs/openid/services/IAssociationService.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/openid/extensions/implementations/OpenIdAXExtension.php" afterPath="$PROJECT_DIR$/app/libs/openid/extensions/implementations/OpenIdAXExtension.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/responses/OpenIdImmediateNegativeAssertion.php" afterPath="$PROJECT_DIR$/app/libs/openid/responses/OpenIdImmediateNegativeAssertion.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/openid/responses/OpenIdNonImmediateNegativeAssertion.php" afterPath="$PROJECT_DIR$/app/libs/openid/responses/OpenIdNonImmediateNegativeAssertion.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/responses/OpenIdDirectResponse.php" afterPath="$PROJECT_DIR$/app/libs/openid/responses/OpenIdDirectResponse.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/strategies/OpenIdDirectResponseStrategy.php" afterPath="$PROJECT_DIR$/app/strategies/OpenIdDirectResponseStrategy.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/openid/handlers/OpenIdMessageHandler.php" afterPath="$PROJECT_DIR$/app/libs/openid/handlers/OpenIdMessageHandler.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/openid/responses/OpenIdPositiveAssertionResponse.php" afterPath="$PROJECT_DIR$/app/libs/openid/responses/OpenIdPositiveAssertionResponse.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/requests/OpenIdRequest.php" afterPath="$PROJECT_DIR$/app/libs/openid/requests/OpenIdRequest.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/openid/strategies/OpenIdResponseStrategyFactoryMethod.php" afterPath="$PROJECT_DIR$/app/libs/openid/strategies/OpenIdResponseStrategyFactoryMethod.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/helpers/OpenIdSignatureBuilder.php" afterPath="$PROJECT_DIR$/app/libs/openid/helpers/OpenIdSignatureBuilder.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/models/OpenIdTrustedSite.php" afterPath="$PROJECT_DIR$/app/models/OpenIdTrustedSite.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/auth/OpenIdUser.php" afterPath="$PROJECT_DIR$/app/libs/auth/OpenIdUser.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/services/TrustedSitesService.php" afterPath="$PROJECT_DIR$/app/services/TrustedSitesService.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/openid/responses/contexts/ResponseContext.php" afterPath="$PROJECT_DIR$/app/libs/openid/responses/contexts/ResponseContext.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/services/ServicesProvider.php" afterPath="$PROJECT_DIR$/app/services/ServicesProvider.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/consent.blade.php" afterPath="$PROJECT_DIR$/app/views/consent.blade.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/config/app.php" afterPath="$PROJECT_DIR$/app/config/app.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/config/dev/database.php" afterPath="$PROJECT_DIR$/app/config/dev/database.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/filters.php" afterPath="$PROJECT_DIR$/app/filters.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/views/home.blade.php" afterPath="$PROJECT_DIR$/app/views/home.blade.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/views/identity.blade.php" afterPath="$PROJECT_DIR$/app/views/identity.blade.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/views/login.blade.php" afterPath="$PROJECT_DIR$/app/views/login.blade.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/views/layout.blade.php" afterPath="$PROJECT_DIR$/app/views/layout.blade.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$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
|
||||
</list>
|
||||
|
@ -42,68 +60,103 @@
|
|||
</component>
|
||||
<component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
|
||||
<component name="FavoritesManager">
|
||||
<favorites_list name="openidIdp" />
|
||||
<favorites_list name="openidIdp">
|
||||
<favorite_root url="file://$PROJECT_DIR$/app/services/ServicesProvider.php" type="psiFile" klass="com.intellij.ide.projectView.impl.nodes.PsiFileNode" />
|
||||
</favorites_list>
|
||||
</component>
|
||||
<component name="FileEditorManager">
|
||||
<leaf>
|
||||
<file leaf-file-name="OpenIdTrustedSite.php" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app/models/OpenIdTrustedSite.php">
|
||||
<file leaf-file-name="OpenIdCheckAuthenticationRequestHandler.php" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app/libs/openid/handlers/OpenIdCheckAuthenticationRequestHandler.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="21" column="29" selection-start="439" selection-end="448" vertical-scroll-proportion="-3.75" vertical-offset="135" max-vertical-offset="555">
|
||||
<state line="94" column="48" selection-start="4038" selection-end="4038" vertical-scroll-proportion="-3.2916667" vertical-offset="1241" max-vertical-offset="1695">
|
||||
<folding>
|
||||
<element signature="e#195#220#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="OpenIdResponseStrategyFactoryMethod.php" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app/libs/openid/strategies/OpenIdResponseStrategyFactoryMethod.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="31" column="0" selection-start="902" selection-end="902" vertical-scroll-proportion="-3.5" vertical-offset="246" max-vertical-offset="540">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="TrustedSitesService.php" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app/services/TrustedSitesService.php">
|
||||
<file leaf-file-name="OpenIdCheckAuthenticationResponse.php" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app/libs/openid/responses/OpenIdCheckAuthenticationResponse.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="15" column="53" selection-start="368" selection-end="368" vertical-scroll-proportion="-3.75" vertical-offset="0" max-vertical-offset="690">
|
||||
<state line="32" column="0" selection-start="1340" selection-end="1340" vertical-scroll-proportion="-4.3333335" vertical-offset="301" max-vertical-offset="540">
|
||||
<folding>
|
||||
<element signature="e#120#146#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="OpenIdProviderController.php" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app/controllers/OpenIdProviderController.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="36" column="0" selection-start="1358" selection-end="1358" vertical-scroll-proportion="-3.7083333" vertical-offset="301" max-vertical-offset="540">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="ITrustedSitesService.php" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app/libs/openid/services/ITrustedSitesService.php">
|
||||
<file leaf-file-name="OpenIdProtocol.php" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app/libs/openid/OpenIdProtocol.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="13" column="30" selection-start="265" selection-end="285" vertical-scroll-proportion="-3.75" vertical-offset="0" max-vertical-offset="345">
|
||||
<state line="33" column="47" selection-start="1104" selection-end="1104" vertical-scroll-proportion="-3.22" vertical-offset="154" max-vertical-offset="2085">
|
||||
<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">
|
||||
<file leaf-file-name="OpenIdDirectResponseStrategy.php" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app/strategies/OpenIdDirectResponseStrategy.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="133" column="18" selection-start="5169" selection-end="5174" vertical-scroll-proportion="-8.583333" vertical-offset="1609" max-vertical-offset="1950">
|
||||
<state line="16" column="0" selection-start="367" selection-end="367" vertical-scroll-proportion="-4.25" vertical-offset="33" max-vertical-offset="285">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="identity.blade.php" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app/views/identity.blade.php">
|
||||
<file leaf-file-name="Controller.php" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/vendor/laravel/framework/src/Illuminate/Routing/Controllers/Controller.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="13" column="10" selection-start="669" selection-end="669" vertical-scroll-proportion="-8.125" vertical-offset="0" max-vertical-offset="315">
|
||||
<state line="120" column="0" selection-start="2992" selection-end="2992" vertical-scroll-proportion="-3.125" vertical-offset="1665" max-vertical-offset="4590">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="profile.blade.php" pinned="false" current="true" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/app/views/profile.blade.php">
|
||||
<file leaf-file-name="Handler.php" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/vendor/laravel/framework/src/Illuminate/Exception/Handler.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="12" column="142" selection-start="507" selection-end="507" vertical-scroll-proportion="0.6081081" vertical-offset="0" max-vertical-offset="360">
|
||||
<state line="179" column="0" selection-start="4276" selection-end="4276" vertical-scroll-proportion="-3.5" vertical-offset="2526" max-vertical-offset="5700">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="ServerExtensionsService.php" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app/services/ServerExtensionsService.php">
|
||||
<file leaf-file-name="OpenIdDirectResponse.php" pinned="false" current="true" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/app/libs/openid/responses/OpenIdDirectResponse.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="405">
|
||||
<state line="64" column="0" selection-start="2152" selection-end="2152" vertical-scroll-proportion="0.33333334" vertical-offset="786" max-vertical-offset="1065">
|
||||
<folding>
|
||||
<element signature="e#195#233#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="OpenIdSignatureBuilder.php" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app/libs/openid/helpers/OpenIdSignatureBuilder.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="35" column="0" selection-start="1090" selection-end="1090" vertical-scroll-proportion="-3.2916667" vertical-offset="326" max-vertical-offset="1005">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
|
@ -127,22 +180,22 @@
|
|||
<component name="IdeDocumentHistory">
|
||||
<option name="changedFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/app/config/app.php" />
|
||||
<option value="$PROJECT_DIR$/app/services/ServicesProvider.php" />
|
||||
<option value="$PROJECT_DIR$/vendor/laravel/framework/src/Illuminate/Redis/RedisServiceProvider.php" />
|
||||
<option value="$PROJECT_DIR$/app/libs/openid/handlers/OpenIdAuthenticationRequestHandler.php" />
|
||||
<option value="$PROJECT_DIR$/app/controllers/DiscoveryController.php" />
|
||||
<option value="$PROJECT_DIR$/app/views/consent.blade.php" />
|
||||
<option value="$PROJECT_DIR$/app/views/login.blade.php" />
|
||||
<option value="$PROJECT_DIR$/app/services/ServerConfigurationService.php" />
|
||||
<option value="$PROJECT_DIR$/app/libs/auth/OpenIdUser.php" />
|
||||
<option value="$PROJECT_DIR$/app/views/welcome.blade.php" />
|
||||
<option value="$PROJECT_DIR$/app/views/home.blade.php" />
|
||||
<option value="$PROJECT_DIR$/app/routes.php" />
|
||||
<option value="$PROJECT_DIR$/app/controllers/HomeController.php" />
|
||||
<option value="$PROJECT_DIR$/app/views/identity.blade.php" />
|
||||
<option value="$PROJECT_DIR$/app/filters.php" />
|
||||
<option value="$PROJECT_DIR$/app/services/TrustedSitesService.php" />
|
||||
<option value="$PROJECT_DIR$/app/libs/openid/services/ITrustedSitesService.php" />
|
||||
<option value="$PROJECT_DIR$/app/controllers/UserController.php" />
|
||||
<option value="$PROJECT_DIR$/app/views/profile.blade.php" />
|
||||
<option value="$PROJECT_DIR$/app/libs/openid/handlers/OpenIdSessionAssociationRequestHandler.php" />
|
||||
<option value="$PROJECT_DIR$/app/libs/openid/handlers/OpenIdMessageHandler.php" />
|
||||
<option value="$PROJECT_DIR$/app/libs/openid/handlers/OpenIdCheckAuthenticationRequestHandler.php" />
|
||||
<option value="$PROJECT_DIR$/app/libs/openid/requests/OpenIdCheckAuthenticationRequest.php" />
|
||||
<option value="$PROJECT_DIR$/app/services/NonceService.php" />
|
||||
<option value="$PROJECT_DIR$/app/libs/openid/requests/OpenIdRequest.php" />
|
||||
<option value="$PROJECT_DIR$/app/libs/openid/responses/OpenIdDirectResponse.php" />
|
||||
<option value="$PROJECT_DIR$/app/libs/openid/helpers/OpenIdSignatureBuilder.php" />
|
||||
<option value="$PROJECT_DIR$/app/libs/openid/OpenIdProtocol.php" />
|
||||
<option value="$PROJECT_DIR$/app/libs/openid/strategies/OpenIdResponseStrategyFactoryMethod.php" />
|
||||
<option value="$PROJECT_DIR$/app/strategies/OpenIdDirectResponseStrategy.php" />
|
||||
<option value="$PROJECT_DIR$/app/libs/openid/responses/OpenIdCheckAuthenticationResponse.php" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
|
@ -150,6 +203,7 @@
|
|||
<option name="servers">
|
||||
<server host="dev.openstackid.com" name="dev.openstackid.com" />
|
||||
<server host="dev.openstack.org" name="dev.openstack.org" use_path_mappings="true" />
|
||||
<server host="dev.openstackid.com" name="dev.openstackid.com (1)" port="443" />
|
||||
</option>
|
||||
</component>
|
||||
<component name="PhpWorkspaceProjectConfiguration" backward_compatibility_performed="true" interpreter_name="PHP 5.4.13">
|
||||
|
@ -282,24 +336,6 @@
|
|||
<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="views" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="openidIdp" />
|
||||
|
@ -318,24 +354,6 @@
|
|||
<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" />
|
||||
|
@ -353,6 +371,10 @@
|
|||
<option name="myItemId" value="libs" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="openid" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
|
@ -372,7 +394,29 @@
|
|||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="auth" />
|
||||
<option name="myItemId" value="openid" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="requests" />
|
||||
<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="libs" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
|
@ -399,15 +443,17 @@
|
|||
</panes>
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
<property name="GoToFile.includeJavaFiles" value="false" />
|
||||
<property name="options.splitter.main.proportions" value="0.3" />
|
||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||
<property name="recentsLimit" value="5" />
|
||||
<property name="options.lastSelected" value="Configurable.PHP.Debug" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/../../www.openstack.org" />
|
||||
<property name="recentsLimit" value="5" />
|
||||
<property name="restartRequiresConfirmation" value="true" />
|
||||
<property name="options.splitter.details.proportions" value="0.2" />
|
||||
<property name="options.searchVisible" value="true" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
|
||||
<property name="FullScreen" value="false" />
|
||||
<property name="GoToClass.includeJavaFiles" value="false" />
|
||||
<property name="options.searchVisible" value="true" />
|
||||
<property name="options.splitter.details.proportions" value="0.2" />
|
||||
</component>
|
||||
<component name="RecentsManager">
|
||||
<key name="CopyFile.RECENT_KEYS">
|
||||
|
@ -465,7 +511,9 @@
|
|||
<method />
|
||||
</configuration>
|
||||
<configuration default="false" name="dev.openstackid.com" type="PhpWebAppRunConfigurationType" factoryName="PHP Web Application" browser="FIREFOX" server_name="dev.openstackid.com">
|
||||
<RunnerSettings RunnerId="PhpRunner" />
|
||||
<RunnerSettings RunnerId="PhpWebAppDebugRunner" />
|
||||
<ConfigurationWrapper RunnerId="PhpRunner" />
|
||||
<ConfigurationWrapper RunnerId="PhpWebAppDebugRunner" />
|
||||
<method />
|
||||
</configuration>
|
||||
|
@ -520,24 +568,24 @@
|
|||
</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.33" 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="-1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.32871974" 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.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3252595" sideWeight="0.6180945" order="3" side_tool="false" 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" />
|
||||
<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="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" 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.33" 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.33" sideWeight="0.5" order="6" 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.33" 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.30504403" sideWeight="0.67128026" 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.33466774" sideWeight="0.65916955" 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="true" weight="0.34083045" 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" />
|
||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3292683" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<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="true" weight="0.32871974" sideWeight="0.5" order="1" 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" />
|
||||
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
|
||||
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
||||
|
@ -555,18 +603,6 @@
|
|||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager>
|
||||
<breakpoints>
|
||||
<line-breakpoint enabled="true" type="php">
|
||||
<url>file://$PROJECT_DIR$/app/services/TrustedSitesService.php</url>
|
||||
<line>19</line>
|
||||
<option name="timeStamp" value="208" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="php">
|
||||
<url>file://$PROJECT_DIR$/app/controllers/DiscoveryController.php</url>
|
||||
<line>47</line>
|
||||
<option name="timeStamp" value="211" />
|
||||
</line-breakpoint>
|
||||
</breakpoints>
|
||||
<breakpoints-dialog>
|
||||
<breakpoints-dialog>
|
||||
<selected-grouping-rules>
|
||||
|
@ -574,119 +610,125 @@
|
|||
</selected-grouping-rules>
|
||||
</breakpoints-dialog>
|
||||
</breakpoints-dialog>
|
||||
<option name="time" value="214" />
|
||||
<option name="time" value="288" />
|
||||
</breakpoint-manager>
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/app/libs/openid/helpers/OpenIdCryptoHelper.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="60" column="0" selection-start="1686" selection-end="1686" vertical-scroll-proportion="-12.875" vertical-offset="471" max-vertical-offset="2085">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/libs/openid/responses/OpenIdResponse.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="12" column="43" selection-start="265" selection-end="265" vertical-scroll-proportion="-3.75" vertical-offset="0" max-vertical-offset="690">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/libs/openid/OpenIdMessage.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="13" column="6" selection-start="240" selection-end="240" vertical-scroll-proportion="1.625" vertical-offset="144" max-vertical-offset="915">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/strategies/OpenIdIndirectResponseStrategy.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="18" column="0" selection-start="433" selection-end="433" vertical-scroll-proportion="-3.7083333" vertical-offset="61" max-vertical-offset="300">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/vendor/laravel/framework/src/Illuminate/Foundation/AliasLoader.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="65" column="0" selection-start="1247" selection-end="1247" vertical-scroll-proportion="-3.5" vertical-offset="891" max-vertical-offset="2460">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/vendor/composer/ClassLoader.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="186" column="0" selection-start="5045" selection-end="5045" vertical-scroll-proportion="-3.2916667" vertical-offset="2591" max-vertical-offset="3660">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/libs/openid/helpers/OpenIdSignatureBuilder.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="35" column="0" selection-start="1090" selection-end="1090" vertical-scroll-proportion="-3.2916667" vertical-offset="326" max-vertical-offset="1005">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/controllers/OpenIdProviderController.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="540">
|
||||
<state line="36" column="0" selection-start="1358" selection-end="1358" vertical-scroll-proportion="-3.7083333" vertical-offset="301" max-vertical-offset="540">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/services/ServerConfigurationService.php">
|
||||
<entry file="file://$PROJECT_DIR$/app/libs/openid/handlers/OpenIdCheckAuthenticationRequestHandler.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="14" column="46" selection-start="331" selection-end="357" vertical-scroll-proportion="-5.0" vertical-offset="0" max-vertical-offset="570">
|
||||
<state line="94" column="48" selection-start="4038" selection-end="4038" vertical-scroll-proportion="-3.2916667" vertical-offset="1241" max-vertical-offset="1695">
|
||||
<folding>
|
||||
<element signature="e#195#220#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/vendor/laravel/framework/src/Illuminate/Routing/Controllers/Controller.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="120" column="0" selection-start="2992" selection-end="2992" vertical-scroll-proportion="-3.125" vertical-offset="1665" max-vertical-offset="4590">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/controllers/DiscoveryController.php">
|
||||
<entry file="file://$PROJECT_DIR$/vendor/laravel/framework/src/Illuminate/Exception/Handler.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="49" column="36" selection-start="1622" selection-end="1747" vertical-scroll-proportion="-2.5" vertical-offset="540" max-vertical-offset="945">
|
||||
<state line="179" column="0" selection-start="4276" selection-end="4276" vertical-scroll-proportion="-3.5" vertical-offset="2526" max-vertical-offset="5700">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/libs/auth/OpenIdUser.php">
|
||||
<entry file="file://$PROJECT_DIR$/app/libs/openid/strategies/OpenIdResponseStrategyFactoryMethod.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="26" column="2" selection-start="541" selection-end="567" vertical-scroll-proportion="-10.0" vertical-offset="30" max-vertical-offset="1980">
|
||||
<state line="31" column="0" selection-start="902" selection-end="902" vertical-scroll-proportion="-3.5" vertical-offset="246" max-vertical-offset="540">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/storage/views/02070f752c8d0ddab799e0541a420d29">
|
||||
<entry file="file://$PROJECT_DIR$/app/libs/openid/OpenIdProtocol.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="11" column="12" selection-start="623" selection-end="623" vertical-scroll-proportion="0.0" vertical-offset="20" max-vertical-offset="315">
|
||||
<state line="33" column="47" selection-start="1104" selection-end="1104" vertical-scroll-proportion="-3.22" vertical-offset="154" max-vertical-offset="2085">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/views/home.blade.php">
|
||||
<entry file="file://$PROJECT_DIR$/app/libs/openid/responses/OpenIdCheckAuthenticationResponse.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="5" column="58" selection-start="191" selection-end="191" vertical-scroll-proportion="0.2245509" vertical-offset="0" max-vertical-offset="334">
|
||||
<state line="32" column="0" selection-start="1340" selection-end="1340" vertical-scroll-proportion="-4.3333335" vertical-offset="301" max-vertical-offset="540">
|
||||
<folding>
|
||||
<element signature="e#120#146#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/strategies/OpenIdDirectResponseStrategy.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="16" column="0" selection-start="367" selection-end="367" vertical-scroll-proportion="-4.25" vertical-offset="33" max-vertical-offset="285">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/controllers/HomeController.php">
|
||||
<entry file="file://$PROJECT_DIR$/app/libs/openid/responses/OpenIdDirectResponse.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="4" column="25" selection-start="110" selection-end="115" vertical-scroll-proportion="0.17964073" vertical-offset="0" max-vertical-offset="345">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/filters.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="37" column="68" selection-start="1005" selection-end="1005" vertical-scroll-proportion="-1.0329342" vertical-offset="765" max-vertical-offset="1500">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/routes.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="32" column="60" selection-start="1250" selection-end="1250" vertical-scroll-proportion="-14.375" vertical-offset="0" max-vertical-offset="465">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/libs/openid/services/ITrustedSitesService.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="13" column="30" selection-start="265" selection-end="285" vertical-scroll-proportion="-3.75" vertical-offset="0" max-vertical-offset="345">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/services/TrustedSitesService.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="15" column="53" selection-start="368" selection-end="368" vertical-scroll-proportion="-3.75" vertical-offset="0" max-vertical-offset="690">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/services/ServerExtensionsService.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="405">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/controllers/UserController.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="133" column="18" selection-start="5169" selection-end="5174" vertical-scroll-proportion="-8.583333" vertical-offset="1609" max-vertical-offset="1950">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/views/identity.blade.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="13" column="10" selection-start="669" selection-end="669" vertical-scroll-proportion="-8.125" vertical-offset="0" max-vertical-offset="315">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/models/OpenIdTrustedSite.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="21" column="29" selection-start="439" selection-end="448" vertical-scroll-proportion="-3.75" vertical-offset="135" max-vertical-offset="555">
|
||||
<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="142" selection-start="507" selection-end="507" vertical-scroll-proportion="0.6081081" vertical-offset="0" max-vertical-offset="360">
|
||||
<folding />
|
||||
<state line="64" column="0" selection-start="2152" selection-end="2152" vertical-scroll-proportion="0.33333334" vertical-offset="786" max-vertical-offset="1065">
|
||||
<folding>
|
||||
<element signature="e#195#233#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
|
|
|
@ -102,7 +102,6 @@ return array(
|
|||
'Illuminate\Pagination\PaginationServiceProvider',
|
||||
'Illuminate\Foundation\Providers\PublisherServiceProvider',
|
||||
'Illuminate\Queue\QueueServiceProvider',
|
||||
'Illuminate\Redis\RedisServiceProvider',
|
||||
'Illuminate\Auth\Reminders\ReminderServiceProvider',
|
||||
'Illuminate\Foundation\Providers\RouteListServiceProvider',
|
||||
'Illuminate\Database\SeedServiceProvider',
|
||||
|
@ -116,7 +115,8 @@ return array(
|
|||
'openid\OpenIdServiceProvider',
|
||||
'auth\AuthenticationServiceProvider',
|
||||
'services\ServicesProvider',
|
||||
'strategies\OpenIdResponseStrategyProvider'
|
||||
'strategies\OpenIdResponseStrategyProvider',
|
||||
'Illuminate\Redis\RedisServiceProvider',
|
||||
),
|
||||
|
||||
/*
|
||||
|
@ -170,7 +170,7 @@ return array(
|
|||
'Password' => 'Illuminate\Support\Facades\Password',
|
||||
'Queue' => 'Illuminate\Support\Facades\Queue',
|
||||
'Redirect' => 'Illuminate\Support\Facades\Redirect',
|
||||
'Redis' => 'Illuminate\Support\Facades\Redis',
|
||||
'RedisLV4' => 'Illuminate\Support\Facades\Redis',
|
||||
'Request' => 'Illuminate\Support\Facades\Request',
|
||||
'Response' => 'Illuminate\Support\Facades\Response',
|
||||
'Route' => 'Illuminate\Support\Facades\Route',
|
||||
|
|
|
@ -98,7 +98,7 @@ return array(
|
|||
'default' => array(
|
||||
'host' => '127.0.0.1',
|
||||
'port' => 6379,
|
||||
'database' => 0,
|
||||
'database' => 1,
|
||||
),
|
||||
|
||||
),
|
||||
|
|
|
@ -44,6 +44,16 @@ class DiscoveryController extends BaseController {
|
|||
return $response;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
* If the Claimed Identifier was not previously discovered by the Relying Party
|
||||
* (the "openid.identity" in the request was "http://specs.openid.net/auth/2.0/identifier_select"
|
||||
* or a different Identifier, or if the OP is sending an unsolicited positive assertion),
|
||||
* the Relying Party MUST perform discovery on the Claimed Identifier in
|
||||
* the response to make sure that the OP is authorized to make assertions about the Claimed Identifier.
|
||||
* @param $identifier
|
||||
* @return mixed
|
||||
*/
|
||||
public function user($identifier){
|
||||
$user = $this->auth_service->getUserByOpenId($identifier);
|
||||
if(is_null($user))
|
||||
|
|
|
@ -2,13 +2,18 @@
|
|||
use openid\XRDS\XRDSDocumentBuilder;
|
||||
class HomeController extends BaseController {
|
||||
|
||||
private $discovery;
|
||||
public function __construct(DiscoveryController $discovery){
|
||||
$this->discovery=$discovery;
|
||||
}
|
||||
|
||||
public function index(){
|
||||
//This field contains a semicolon-separated list of representation schemes
|
||||
//which will be accepted in the response to this request.
|
||||
$accept = Request::header('Accept');
|
||||
$accept_values = explode(",",$accept);
|
||||
if(in_array(XRDSDocumentBuilder::ContentType,$accept_values))
|
||||
return Redirect::action('DiscoveryController@idp');
|
||||
return $this->discovery->idp();
|
||||
if(Auth::guest())
|
||||
return View::make("home");
|
||||
else{
|
||||
|
|
|
@ -19,15 +19,19 @@ class UserController extends BaseController{
|
|||
private $memento_service;
|
||||
private $auth_service;
|
||||
private $server_configuration_service;
|
||||
private $discovery;
|
||||
|
||||
|
||||
public function __construct(IMementoOpenIdRequestService $memento_service,
|
||||
IAuthService $auth_service,
|
||||
IServerConfigurationService $server_configuration_service,
|
||||
ITrustedSitesService $trusted_sites_service){
|
||||
ITrustedSitesService $trusted_sites_service,
|
||||
DiscoveryController $discovery){
|
||||
$this->memento_service = $memento_service;
|
||||
$this->auth_service = $auth_service;
|
||||
$this->server_configuration_service = $server_configuration_service;
|
||||
$this->trusted_sites_service=$trusted_sites_service;
|
||||
$this->discovery = $discovery;
|
||||
//filters
|
||||
$this->beforeFilter('csrf',array('only' => array('postLogin', 'postConsent')));
|
||||
$this->beforeFilter('openid.save.request');
|
||||
|
@ -108,8 +112,16 @@ class UserController extends BaseController{
|
|||
//which will be accepted in the response to this request.
|
||||
$accept = Request::header('Accept');
|
||||
$accept_values = explode(",",$accept);
|
||||
if(in_array(XRDSDocumentBuilder::ContentType,$accept_values))
|
||||
return Redirect::action('DiscoveryController@user',array("identifier"=>$identifier));
|
||||
if(in_array(XRDSDocumentBuilder::ContentType,$accept_values)){
|
||||
/*
|
||||
* If the Claimed Identifier was not previously discovered by the Relying Party
|
||||
* (the "openid.identity" in the request was "http://specs.openid.net/auth/2.0/identifier_select"
|
||||
* or a different Identifier, or if the OP is sending an unsolicited positive assertion),
|
||||
* the Relying Party MUST perform discovery on the Claimed Identifier in
|
||||
* the response to make sure that the OP is authorized to make assertions about the Claimed Identifier.
|
||||
*/
|
||||
return $this->discovery->user($identifier);
|
||||
}
|
||||
|
||||
if(Auth::check()){
|
||||
return View::make("identity")->with('username',$user->getFullName())->with( "identifier",$user->getIdentifier());
|
||||
|
@ -125,7 +137,6 @@ class UserController extends BaseController{
|
|||
|
||||
public function getProfile(){
|
||||
$user = $this->auth_service->getCurrentUser();
|
||||
|
||||
$sites = $this->trusted_sites_service->getAllTrustedSitesByUser($user);
|
||||
return View::make("profile",array(
|
||||
"username"=> $user->getFullName(),
|
||||
|
@ -134,4 +145,8 @@ class UserController extends BaseController{
|
|||
"sites"=>$sites
|
||||
));
|
||||
}
|
||||
|
||||
public function get_deleteTrustedSite($id){
|
||||
return Response::json(array('success' => true));
|
||||
}
|
||||
}
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
App::before(function($request)
|
||||
{
|
||||
//
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
@ -104,3 +104,14 @@ Route::filter("openid.save.request",function(){
|
|||
$memento_service->saveCurrentRequest();
|
||||
|
||||
});
|
||||
|
||||
use openid\services\Registry;
|
||||
|
||||
Route::filter("ssl",function(){
|
||||
if (!Request::secure()){
|
||||
$memento_service = Registry::getInstance()->get("openid\\services\\IMementoOpenIdRequestService");
|
||||
$memento_service->saveCurrentRequest();
|
||||
return Redirect::secure(Request::getRequestUri());
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -18,6 +18,10 @@ class OpenIdUser extends \Eloquent implements UserInterface , IOpenIdUser{
|
|||
protected $table = 'openid_users';
|
||||
private $member;
|
||||
|
||||
public function trusted_sites(){
|
||||
return $this->has_many("OpenIdTrustedSite");
|
||||
}
|
||||
|
||||
public function setMember($member){
|
||||
$this->member=$member;
|
||||
}
|
||||
|
|
|
@ -55,6 +55,7 @@ class OpenIdProtocol implements IOpenIdProtocol {
|
|||
const OpenIDProtocol_Error = "error";
|
||||
const OpenIDProtocol_Contact = "contact";
|
||||
const OpenIDProtocol_Reference = "reference";
|
||||
const OpenIDProtocol_IsValid = "is_valid";
|
||||
|
||||
|
||||
|
||||
|
@ -85,6 +86,7 @@ class OpenIdProtocol implements IOpenIdProtocol {
|
|||
self::OpenIDProtocol_Error => self::OpenIDProtocol_Error,
|
||||
self::OpenIDProtocol_Contact => self::OpenIDProtocol_Contact,
|
||||
self::OpenIDProtocol_Reference => self::OpenIDProtocol_Reference,
|
||||
self::OpenIDProtocol_IsValid => self::OpenIDProtocol_IsValid,
|
||||
);
|
||||
|
||||
/**
|
||||
|
@ -111,9 +113,10 @@ class OpenIdProtocol implements IOpenIdProtocol {
|
|||
$association_service = \App::make("openid\\services\\IAssociationService");
|
||||
$trusted_sites_service = \App::make("openid\\services\\ITrustedSitesService");
|
||||
$server_config_service = \App::make("openid\\services\\IServerConfigurationService");
|
||||
|
||||
$successor = new OpenIdSessionAssociationRequestHandler(new OpenIdCheckAuthenticationRequestHandler(null));
|
||||
$this->request_handlers = new OpenIdAuthenticationRequestHandler($auth_service,$memento_request_service,$auth_strategy,$server_extension_service,$association_service,$trusted_sites_service,$server_config_service,$successor);
|
||||
$nonce_service = \App::make("openid\\services\\INonceService");
|
||||
$check_auth = new OpenIdCheckAuthenticationRequestHandler($association_service,$nonce_service,null);
|
||||
$session_assoc = new OpenIdSessionAssociationRequestHandler($check_auth);
|
||||
$this->request_handlers = new OpenIdAuthenticationRequestHandler($auth_service,$memento_request_service,$auth_strategy,$server_extension_service,$association_service,$trusted_sites_service,$server_config_service,$nonce_service,$session_assoc);
|
||||
}
|
||||
|
||||
public function getXRDSDiscovery($mode, $canonical_id=null){
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/24/13
|
||||
* Time: 9:22 PM
|
||||
*/
|
||||
|
||||
namespace openid\exceptions;
|
||||
use \Exception;
|
||||
|
||||
class ReplayAttackException extends Exception{
|
||||
|
||||
public function __construct($message = "") {
|
||||
$message = "ReplayAttackException : ".$message;
|
||||
parent::__construct($message, 0 , null);
|
||||
}
|
||||
|
||||
}
|
|
@ -19,6 +19,7 @@ use openid\responses\OpenIdResponse;
|
|||
use openid\services\Registry;
|
||||
use openid\OpenIdMessage;
|
||||
use openid\exceptions\InvalidOpenIdMessageException;
|
||||
use openid\requests\contexts\PartialView;
|
||||
|
||||
class OpenIdAXRequest extends OpenIdRequest
|
||||
{
|
||||
|
@ -112,7 +113,13 @@ class OpenIdAXExtension extends OpenIdExtension
|
|||
{
|
||||
$ax_request = new OpenIdAXRequest($request->getMessage());
|
||||
if (!$ax_request->IsValid()) return;
|
||||
//todo : build sub view ....
|
||||
$attributes = $ax_request->getRequiredAttributes();
|
||||
$data = array();
|
||||
foreach($attributes as $attr){
|
||||
array_push($data,$attr);
|
||||
}
|
||||
$partial_view = new PartialView("extensions.ax",array("attributes"=>$data));
|
||||
$context->addPartialView($partial_view);
|
||||
}
|
||||
|
||||
public function prepareResponse(OpenIdRequest $request, OpenIdResponse $response, ResponseContext $context)
|
||||
|
@ -147,6 +154,11 @@ class OpenIdAXExtension extends OpenIdExtension
|
|||
}
|
||||
}
|
||||
|
||||
public function verifyRequest(OpenIdRequest $request,ResponseContext $context){
|
||||
$ax_request = new OpenIdAXRequest($request->getMessage());
|
||||
if (!$ax_request->IsValid()) return;
|
||||
}
|
||||
|
||||
public function getTrustedData(OpenIdRequest $request){
|
||||
|
||||
$data = array();
|
||||
|
|
|
@ -22,7 +22,6 @@ use openid\exceptions\InvalidOpenIdAuthenticationRequestMode;
|
|||
use openid\responses\OpenIdNonImmediateNegativeAssertion;
|
||||
use openid\responses\OpenIdImmediateNegativeAssertion;
|
||||
use openid\services\ITrustedSitesService;
|
||||
use openid\responses\OpenIdIndirectResponse;
|
||||
use openid\responses\OpenIdIndirectGenericErrorResponse;
|
||||
use openid\helpers\OpenIdErrorMessages;
|
||||
use openid\helpers\OpenIdCryptoHelper;
|
||||
|
@ -32,6 +31,7 @@ use openid\services\IServerConfigurationService;
|
|||
use openid\helpers\OpenIdSignatureBuilder;
|
||||
use openid\exceptions\InvalidOpenIdMessageException;
|
||||
use openid\model\ITrustedSite;
|
||||
use openid\services\INonceService;
|
||||
/**
|
||||
* Class OpenIdAuthenticationRequestHandler
|
||||
* Implements
|
||||
|
@ -51,6 +51,7 @@ class OpenIdAuthenticationRequestHandler extends OpenIdMessageHandler
|
|||
private $extensions;
|
||||
private $current_request;
|
||||
private $current_request_context;
|
||||
private $nonce_service;
|
||||
|
||||
public function __construct(IAuthService $authService,
|
||||
IMementoOpenIdRequestService $mementoRequestService,
|
||||
|
@ -59,6 +60,7 @@ class OpenIdAuthenticationRequestHandler extends OpenIdMessageHandler
|
|||
IAssociationService $association_service,
|
||||
ITrustedSitesService $trusted_sites_service,
|
||||
IServerConfigurationService $server_configuration_service,
|
||||
INonceService $nonce_service,
|
||||
$successor)
|
||||
{
|
||||
parent::__construct($successor);
|
||||
|
@ -70,6 +72,7 @@ class OpenIdAuthenticationRequestHandler extends OpenIdMessageHandler
|
|||
$this->trusted_sites_service = $trusted_sites_service;
|
||||
$this->server_configuration_service = $server_configuration_service;
|
||||
$this->extensions = $this->server_extensions_service->getAllActiveExtensions();
|
||||
$this->nonce_service = $nonce_service;
|
||||
}
|
||||
|
||||
|
||||
|
@ -92,15 +95,19 @@ class OpenIdAuthenticationRequestHandler extends OpenIdMessageHandler
|
|||
$context->addSignParam(OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_ClaimedId));
|
||||
$context->addSignParam(OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Identity));
|
||||
|
||||
$op_endpoint = $this->server_configuration_service->getOPEndpointURL();
|
||||
$identity = $this->server_configuration_service->getUserIdentityEndpointURL($currentUser->getIdentifier());
|
||||
$response = new OpenIdPositiveAssertionResponse($op_endpoint, $identity, $identity, $this->current_request->getReturnTo());
|
||||
$op_endpoint = $this->server_configuration_service->getOPEndpointURL();
|
||||
$identity = $this->server_configuration_service->getUserIdentityEndpointURL($currentUser->getIdentifier());
|
||||
$current_nonce = $this->nonce_service->generateNonce();
|
||||
$response = new OpenIdPositiveAssertionResponse($op_endpoint, $identity, $identity, $this->current_request->getReturnTo(),$current_nonce);
|
||||
|
||||
foreach ($this->extensions as $ext) {
|
||||
$ext->prepareResponse($this->current_request, $response, $context);
|
||||
}
|
||||
|
||||
//check former assoc handle...
|
||||
$assoc_handle = $this->current_request->getAssocHandle();
|
||||
$association = $this->association_service->getAssociation($assoc_handle);
|
||||
$assoc_handle = $this->current_request->getAssocHandle();
|
||||
$association = $this->association_service->getAssociation($assoc_handle);
|
||||
|
||||
if (empty($assoc_handle) || is_null($association)) {
|
||||
// if not present or if it already void then enter on dumb mode
|
||||
$new_secret = OpenIdCryptoHelper::generateSecret(OpenIdProtocol::SignatureAlgorithmHMAC_SHA256);
|
||||
|
@ -117,6 +124,12 @@ class OpenIdAuthenticationRequestHandler extends OpenIdMessageHandler
|
|||
$response->setAssocHandle($assoc_handle);
|
||||
}
|
||||
OpenIdSignatureBuilder::build($context, $association->getMacFunction(), $association->getSecret(), $response);
|
||||
/*
|
||||
* To prevent replay attacks, the OP MUST NOT issue more than one verification response for each
|
||||
* authentication response it had previously issued. An authentication response and its matching
|
||||
* verification request may be identified by their "openid.response_nonce" values.
|
||||
*/
|
||||
$this->nonce_service->associateNonce($current_nonce, $response->getSig());
|
||||
return $response;
|
||||
}
|
||||
|
||||
|
@ -126,7 +139,6 @@ class OpenIdAuthenticationRequestHandler extends OpenIdMessageHandler
|
|||
private function doConsentProcess(){
|
||||
//do consent process
|
||||
$this->mementoRequestService->saveCurrentRequest();
|
||||
$this->current_request_context->setStage(RequestContext::StageConsent);
|
||||
foreach ($this->extensions as $ext) {
|
||||
$ext->parseRequest($this->current_request, $this->current_request_context);
|
||||
}
|
||||
|
@ -327,6 +339,7 @@ class OpenIdAuthenticationRequestHandler extends OpenIdMessageHandler
|
|||
|
||||
protected function CanHandle(OpenIdMessage $message)
|
||||
{
|
||||
return OpenIdAuthenticationRequest::IsOpenIdAuthenticationRequest($message);
|
||||
$res = OpenIdAuthenticationRequest::IsOpenIdAuthenticationRequest($message);
|
||||
return $res;
|
||||
}
|
||||
}
|
|
@ -11,15 +11,104 @@ namespace openid\handlers;
|
|||
|
||||
|
||||
use openid\OpenIdMessage;
|
||||
use openid\requests\OpenIdCheckAuthenticationRequest;
|
||||
use openid\exceptions\InvalidOpenIdMessageException;
|
||||
use openid\responses\OpenIdDirectGenericErrorResponse;
|
||||
use openid\services\IAssociationService;
|
||||
use openid\services\INonceService;
|
||||
use openid\model\IAssociation;
|
||||
use openid\exceptions\ReplayAttackException;
|
||||
use openid\responses\contexts\ResponseContext;
|
||||
use openid\helpers\OpenIdSignatureBuilder;
|
||||
use openid\responses\OpenIdPositiveAssertionResponse;
|
||||
use openid\responses\OpenIdCheckAuthenticationResponse;
|
||||
|
||||
class OpenIdCheckAuthenticationRequestHandler extends OpenIdMessageHandler{
|
||||
|
||||
protected function InternalHandle(OpenIdMessage $message){
|
||||
|
||||
private $association_service;
|
||||
private $nonce_service;
|
||||
private $current_request;
|
||||
|
||||
public function __construct(IAssociationService $association_service,
|
||||
INonceService $nonce_service,
|
||||
$successor)
|
||||
{
|
||||
parent::__construct($successor);
|
||||
$this->association_service = $association_service;
|
||||
$this->nonce_service = $nonce_service;
|
||||
}
|
||||
|
||||
|
||||
protected function InternalHandle(OpenIdMessage $message){
|
||||
$this->current_request = null;
|
||||
try
|
||||
{
|
||||
$this->current_request = new OpenIdCheckAuthenticationRequest($message);
|
||||
|
||||
if(!$this->current_request->IsValid())
|
||||
throw new InvalidOpenIdMessageException("OpenIdCheckAuthenticationRequest is Invalid!");
|
||||
|
||||
/**
|
||||
* For verifying signatures an OP MUST only use private associations and MUST NOT
|
||||
* use associations that have shared keys. If the verification request contains a handle
|
||||
* for a shared association, it means the Relying Party no longer knows the shared secret,
|
||||
* or an entity other than the RP (e.g. an attacker) has established this association with
|
||||
* the OP.
|
||||
* To prevent replay attacks, the OP MUST NOT issue more than one verification response for each
|
||||
* authentication response it had previously issued. An authentication response and its matching
|
||||
* verification request may be identified by their "openid.response_nonce" values.
|
||||
*/
|
||||
|
||||
$claimed_assoc = $this->current_request->getAssocHandle();
|
||||
$stored_assoc = $this->association_service->getAssociation($claimed_assoc);
|
||||
|
||||
if(is_null($stored_assoc) || $stored_assoc->getType()!=IAssociation::TypePrivate)
|
||||
throw new InvalidOpenIdMessageException("OpenIdCheckAuthenticationRequest is Invalid!");
|
||||
|
||||
$claimed_nonce = $this->current_request->getNonce();
|
||||
$claimed_sig = $this->current_request->getSig();
|
||||
$claimed_op_endpoint = $this->current_request->getOPEndpoint();
|
||||
$claimed_identity = $this->current_request->getClaimedId();
|
||||
$claimed_invalidate_handle = $this->current_request->getInvalidateHandle();
|
||||
|
||||
if(!is_null($claimed_invalidate_handle) && !empty($claimed_invalidate_handle)){
|
||||
$invalidate_stored_assoc = $this->association_service->getAssociation($claimed_invalidate_handle);
|
||||
if(!is_null($invalidate_stored_assoc)){
|
||||
$claimed_invalidate_handle = null;
|
||||
}
|
||||
}
|
||||
|
||||
$this->nonce_service->markNonceAsInvalid($claimed_nonce,$claimed_sig);
|
||||
|
||||
|
||||
|
||||
|
||||
$res = OpenIdSignatureBuilder::verify($this->current_request, $stored_assoc->getMacFunction(), $stored_assoc->getSecret(),$claimed_sig);
|
||||
//delete association
|
||||
$this->association_service->deleteAssociation($claimed_assoc);
|
||||
$is_valid = 'false';
|
||||
if($res){
|
||||
//assertion is valid
|
||||
$is_valid = 'true';
|
||||
}
|
||||
return new OpenIdCheckAuthenticationResponse($is_valid,$claimed_invalidate_handle);
|
||||
}
|
||||
catch(ReplayAttackException $rEx){
|
||||
$response = new OpenIdDirectGenericErrorResponse($rEx->getMessage());
|
||||
return $response;
|
||||
}
|
||||
catch (InvalidOpenIdMessageException $ex) {
|
||||
$response = new OpenIdDirectGenericErrorResponse($ex->getMessage());
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
|
||||
protected function CanHandle(OpenIdMessage $message)
|
||||
{
|
||||
// TODO: Implement CanHandle() method.
|
||||
$res = OpenIdCheckAuthenticationRequest::IsOpenIdCheckAuthenticationRequest($message);
|
||||
return $res;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -26,7 +26,7 @@ abstract class OpenIdMessageHandler {
|
|||
//handle request
|
||||
return $this->InternalHandle($message);
|
||||
}
|
||||
else if(isset($this->successor) && !null($this->successor))
|
||||
else if(isset($this->successor) && !is_null($this->successor))
|
||||
{
|
||||
return $this->successor->HandleMessage($message);
|
||||
}
|
||||
|
|
|
@ -20,6 +20,7 @@ class OpenIdSessionAssociationRequestHandler extends OpenIdMessageHandler{
|
|||
|
||||
protected function CanHandle(OpenIdMessage $message)
|
||||
{
|
||||
// TODO: Implement CanHandle() method.
|
||||
$res = false;
|
||||
return $res;
|
||||
}
|
||||
}
|
|
@ -10,9 +10,33 @@
|
|||
namespace openid\helpers;
|
||||
use openid\responses\contexts\ResponseContext;
|
||||
use openid\responses\OpenIdPositiveAssertionResponse;
|
||||
use openid\requests\OpenIdCheckAuthenticationRequest;
|
||||
|
||||
class OpenIdSignatureBuilder {
|
||||
|
||||
|
||||
/**
|
||||
* @param OpenIdCheckAuthenticationRequest $request
|
||||
* @param $macAlg
|
||||
* @param $secret
|
||||
* @param $claimed_sig
|
||||
* @return bool
|
||||
*/
|
||||
public static function verify(OpenIdCheckAuthenticationRequest $request,$macAlg,$secret,$claimed_sig){
|
||||
$res = false;
|
||||
$signed = $request->getSigned();
|
||||
$claimed_signed = explode(',',$signed);
|
||||
$data = '';
|
||||
foreach($claimed_signed as $key){
|
||||
$key_php = str_ireplace('.','_',$key);
|
||||
$val = $request->getParam('openid_'.$key_php);
|
||||
$data .= $key . ':' . $val . "\n";
|
||||
}
|
||||
$computed_sig = base64_encode(OpenIdCryptoHelper::computeHMAC($macAlg, $data, $secret));
|
||||
if($claimed_sig==$computed_sig)
|
||||
$res = true;
|
||||
return $res;
|
||||
}
|
||||
/**
|
||||
* @param ResponseContext $context
|
||||
* @param $macAlg
|
||||
|
|
|
@ -14,7 +14,11 @@ use openid\OpenIdMessage;
|
|||
use openid\OpenIdProtocol;
|
||||
use openid\helpers\OpenIdUriHelper;
|
||||
|
||||
class OpenIdAuthenticationRequest extends OpenIdRequest{
|
||||
class OpenIdAuthenticationRequest extends OpenIdRequest {
|
||||
|
||||
public function __construct(OpenIdMessage $message){
|
||||
parent::__construct($message);
|
||||
}
|
||||
|
||||
public static function IsOpenIdAuthenticationRequest(OpenIdMessage $message){
|
||||
$mode = $message->getMode();
|
||||
|
@ -58,6 +62,21 @@ class OpenIdAuthenticationRequest extends OpenIdRequest{
|
|||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $claimed_id
|
||||
* @param $identity
|
||||
* @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){
|
||||
//todo: check valid user?
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public function IsValid(){
|
||||
$return_to = $this->getReturnTo();
|
||||
$claimed_id = $this->getClaimedId();
|
||||
|
@ -67,8 +86,9 @@ class OpenIdAuthenticationRequest extends OpenIdRequest{
|
|||
return !empty($return_to)
|
||||
&& !empty($realm)
|
||||
&& OpenIdUriHelper::checkRealm($realm,$return_to)
|
||||
&& !empty($claimed_id) && $claimed_id == OpenIdProtocol::IdentifierSelectType
|
||||
&& !empty($identity) && $identity == OpenIdProtocol::IdentifierSelectType
|
||||
&& !empty($claimed_id)
|
||||
&& !empty($identity)
|
||||
&& $this->isValidIdentifier($claimed_id,$identity)
|
||||
&& !empty($mode) && ($mode == OpenIdProtocol::ImmediateMode || $mode == OpenIdProtocol::SetupMode);
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,57 @@
|
|||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/24/13
|
||||
* Time: 9:02 PM
|
||||
*/
|
||||
|
||||
namespace openid\requests;
|
||||
|
||||
|
||||
use openid\OpenIdProtocol;
|
||||
use openid\OpenIdMessage;
|
||||
|
||||
class OpenIdCheckAuthenticationRequest extends OpenIdAuthenticationRequest {
|
||||
|
||||
public function __construct(OpenIdMessage $message){
|
||||
parent::__construct($message);
|
||||
}
|
||||
|
||||
public static function IsOpenIdCheckAuthenticationRequest(OpenIdMessage $message){
|
||||
$mode = $message->getMode();
|
||||
if($mode==OpenIdProtocol::CheckAuthenticationMode) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
public function IsValid()
|
||||
{
|
||||
$mode = $this->getMode();
|
||||
$claimed_assoc = $this->getAssocHandle();
|
||||
if($mode== OpenIdProtocol::CheckAuthenticationMode
|
||||
&& !is_null($claimed_assoc) && !empty($claimed_assoc)){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public function getSig(){
|
||||
return $this->message[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Sig,"_")];
|
||||
}
|
||||
|
||||
public function getSigned(){
|
||||
return $this->message[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Signed,"_")];
|
||||
}
|
||||
|
||||
public function getNonce(){
|
||||
return $this->message[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Nonce,"_")];
|
||||
}
|
||||
|
||||
public function getOPEndpoint(){
|
||||
return $this->message[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_OpEndpoint,"_")];
|
||||
}
|
||||
|
||||
public function getInvalidateHandle(){
|
||||
return $this->message[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_InvalidateHandle,"_")];
|
||||
}
|
||||
}
|
|
@ -27,4 +27,8 @@ abstract class OpenIdRequest {
|
|||
}
|
||||
|
||||
abstract public function IsValid();
|
||||
|
||||
public function getParam($param){
|
||||
return $this->message[$param];
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/24/13
|
||||
* Time: 10:08 PM
|
||||
*/
|
||||
|
||||
namespace openid\responses;
|
||||
use openid\OpenIdProtocol;
|
||||
use openid\responses\OpenIdDirectResponse;
|
||||
|
||||
class OpenIdCheckAuthenticationResponse extends OpenIdDirectResponse {
|
||||
/**
|
||||
* 11.4.2.2. Response Parameters
|
||||
* ns :As specified in Section 5.1.2.
|
||||
* is_valid
|
||||
* Value: "true" or "false"; asserts whether the signature of the verification
|
||||
* request is valid.
|
||||
* invalidate_handle
|
||||
* Value: (optional) The "invalidate_handle" value sent in the verification request,
|
||||
* if the OP confirms it is invalid.
|
||||
* Description: If present in a verification response with "is_valid" set to "true",
|
||||
* the Relying Party SHOULD remove the corresponding association from its store and
|
||||
* SHOULD NOT send further authentication requests with this handle.
|
||||
* Note: This two-step process for invalidating associations is necessary to prevent an attacker from invalidating an association at will by adding "invalidate_handle" parameters to an authentication response.
|
||||
* @param $is_valid
|
||||
* @param null $invalidate_handle
|
||||
*/
|
||||
public function __construct($is_valid,$invalidate_handle=null) {
|
||||
parent::__construct();
|
||||
$this[OpenIdProtocol::OpenIDProtocol_IsValid] = $is_valid;
|
||||
if(!is_null($invalidate_handle) && !empty($invalidate_handle))
|
||||
$this[OpenIdProtocol::OpenIDProtocol_InvalidateHandle] = $invalidate_handle;
|
||||
}
|
||||
}
|
|
@ -9,6 +9,7 @@
|
|||
|
||||
namespace openid\responses;
|
||||
use openid\exceptions\InvalidKVFormat;
|
||||
use openid\OpenIdProtocol;
|
||||
|
||||
/**
|
||||
* Class OpenIdDirectResponse
|
||||
|
@ -30,7 +31,7 @@ class OpenIdDirectResponse extends OpenIdResponse {
|
|||
* response. Future versions of the specification may define different values in order
|
||||
* to allow message recipients to properly interpret the request.
|
||||
*/
|
||||
$this["ns"]=self::OpenId2ResponseType;
|
||||
$this["ns"]=OpenIdProtocol::OpenID2MessageType;
|
||||
}
|
||||
/**
|
||||
* Implementation of 4.1.1. Key-Value Form Encoding
|
||||
|
|
|
@ -14,16 +14,18 @@ use openid\OpenIdProtocol;
|
|||
|
||||
class OpenIdPositiveAssertionResponse extends OpenIdIndirectResponse {
|
||||
|
||||
public function __construct($op_endpoint,$claimed_id,$identity,$return_to){
|
||||
public function __construct($op_endpoint,$claimed_id,$identity,$return_to,$nonce){
|
||||
parent::__construct();
|
||||
$this->setMode(OpenIdProtocol::IdMode);
|
||||
$this[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_OpEndpoint)] = $op_endpoint;
|
||||
$this[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_ClaimedId)] = $claimed_id;
|
||||
$this[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Identity)] = $identity;
|
||||
$this[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_ReturnTo)] = $return_to;
|
||||
$this[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Nonce)] = $this->generateNonce();
|
||||
$this[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Nonce)] = $nonce;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function setAssocHandle($assoc_handle){
|
||||
$this[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_AssocHandle)] = $assoc_handle;
|
||||
}
|
||||
|
@ -32,6 +34,10 @@ class OpenIdPositiveAssertionResponse extends OpenIdIndirectResponse {
|
|||
$this[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Signed)] = $signed;
|
||||
}
|
||||
|
||||
public function getSig(){
|
||||
return $this[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Sig)];
|
||||
}
|
||||
|
||||
public function setSig($sig){
|
||||
$this[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Sig)] = $sig;
|
||||
}
|
||||
|
@ -40,7 +46,4 @@ class OpenIdPositiveAssertionResponse extends OpenIdIndirectResponse {
|
|||
$this[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_InvalidateHandle)] = $invalidate_handle;
|
||||
}
|
||||
|
||||
private function generateNonce(){
|
||||
return gmdate('Y-m-d\TH:i:s\Z') . uniqid();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,8 +10,6 @@
|
|||
namespace openid\responses\contexts;
|
||||
|
||||
|
||||
use openid\OpenIdProtocol;
|
||||
|
||||
class ResponseContext
|
||||
{
|
||||
|
||||
|
|
|
@ -28,4 +28,14 @@ interface IAssociationService {
|
|||
* @return bool
|
||||
*/
|
||||
public function deleteAssociation($handle);
|
||||
|
||||
/**
|
||||
* For verifying signatures an OP MUST only use private associations and MUST NOT
|
||||
* use associations that have shared keys. If the verification request contains a handle
|
||||
* for a shared association, it means the Relying Party no longer knows the shared secret,
|
||||
* or an entity other than the RP (e.g. an attacker) has established this association with the OP.
|
||||
* @param $handle
|
||||
* @return mixed
|
||||
*/
|
||||
public function getAssociationType($handle);
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/24/13
|
||||
* Time: 9:06 PM
|
||||
*/
|
||||
|
||||
namespace openid\services;
|
||||
use \openid\exceptions\ReplayAttackException;
|
||||
|
||||
interface INonceService {
|
||||
|
||||
public function generateNonce();
|
||||
|
||||
public function associateNonce($nonce,$signature);
|
||||
|
||||
/**
|
||||
* To prevent replay attacks, the OP MUST NOT issue more than one verification response
|
||||
* for each authentication response it had previously issued. An authentication response
|
||||
* and its matching verification request may be identified by their "openid.response_nonce" values.
|
||||
* @param $nonce
|
||||
* @param $signature
|
||||
* @throws ReplayAttackException
|
||||
* @return mixed
|
||||
*/
|
||||
public function markNonceAsInvalid($nonce,$signature);
|
||||
}
|
|
@ -29,7 +29,7 @@ class OpenIdResponseStrategyFactoryMethod {
|
|||
break;
|
||||
case OpenIdDirectResponse::OpenIdDirectResponse:
|
||||
{
|
||||
return Registry::getInstance()->get(OpenIdIndirectResponse::OpenIdDirectResponse);
|
||||
return Registry::getInstance()->get(OpenIdDirectResponse::OpenIdDirectResponse);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
|
|
@ -14,6 +14,10 @@ class OpenIdTrustedSite extends Eloquent implements ITrustedSite{
|
|||
protected $table = 'openid_trusted_sites';
|
||||
public $timestamps = false;
|
||||
|
||||
public function user(){
|
||||
return $this->belongs_to("OpenIdUser");
|
||||
}
|
||||
|
||||
public function getRealm()
|
||||
{
|
||||
return $this->realm;
|
||||
|
@ -27,7 +31,7 @@ class OpenIdTrustedSite extends Eloquent implements ITrustedSite{
|
|||
|
||||
public function getUser()
|
||||
{
|
||||
// TODO: Implement getUser() method.
|
||||
return $this->user();
|
||||
}
|
||||
|
||||
public function getAuthorizationPolicy()
|
||||
|
|
|
@ -11,24 +11,37 @@
|
|||
|
|
||||
*/
|
||||
|
||||
Route::get('/', "HomeController@index");
|
||||
Route::get('/discovery', "DiscoveryController@idp");
|
||||
Route::get("/{identifier}","UserController@getIdentity");
|
||||
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');
|
||||
|
||||
//user interaction
|
||||
Route::get('/accounts/user/login',"UserController@getLogin");
|
||||
Route::post('/accounts/user/login',"UserController@postLogin");
|
||||
|
||||
|
||||
|
||||
Route::group(["before" => "auth"], function()
|
||||
Route::group(["before"=>"ssl"],function(){
|
||||
|
||||
Route::get('/', "HomeController@index");
|
||||
Route::get('/discovery', "DiscoveryController@idp");
|
||||
/*
|
||||
* If the Claimed Identifier was not previously discovered by the Relying Party
|
||||
* (the "openid.identity" in the request was "http://specs.openid.net/auth/2.0/identifier_select"
|
||||
* or a different Identifier, or if the OP is sending an unsolicited positive assertion),
|
||||
* the Relying Party MUST perform discovery on the Claimed Identifier in
|
||||
* the response to make sure that the OP is authorized to make assertions about the Claimed Identifier.
|
||||
*/
|
||||
Route::get("/{identifier}","UserController@getIdentity");
|
||||
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');
|
||||
|
||||
//user interaction
|
||||
Route::get('/accounts/user/login',"UserController@getLogin");
|
||||
Route::post('/accounts/user/login',"UserController@postLogin");
|
||||
});
|
||||
|
||||
Route::group(["before" => array("ssl","auth")], function()
|
||||
{
|
||||
Route::get('/accounts/user/consent',"UserController@getConsent");
|
||||
Route::post('/accounts/user/consent',"UserController@postConsent");
|
||||
Route::any("/accounts/user/logout","UserController@logout");
|
||||
Route::any("/accounts/user/profile","UserController@getProfile");
|
||||
Route::any("/accounts/user/profile/trusted_site/delete/{id}","UserController@get_deleteTrustedSite");
|
||||
});
|
||||
|
|
|
@ -58,6 +58,27 @@ class AssociationService implements IAssociationService{
|
|||
public function deleteAssociation($handle)
|
||||
{
|
||||
$assoc = OpenIdAssociation::where('identifier','=',$handle)->first();
|
||||
$assoc->delete();
|
||||
if(!is_null($assoc)){
|
||||
$assoc->delete();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* For verifying signatures an OP MUST only use private associations and MUST NOT
|
||||
* use associations that have shared keys. If the verification request contains a handle
|
||||
* for a shared association, it means the Relying Party no longer knows the shared secret,
|
||||
* or an entity other than the RP (e.g. an attacker) has established this association with the OP.
|
||||
* @param $handle
|
||||
* @return mixed
|
||||
*/
|
||||
public function getAssociationType($handle)
|
||||
{
|
||||
$assoc = OpenIdAssociation::where('identifier','=',$handle)->first();
|
||||
if(!is_null($assoc)){
|
||||
return $assoc->type;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/24/13
|
||||
* Time: 9:11 PM
|
||||
*/
|
||||
|
||||
namespace services;
|
||||
//use Illuminate\Redis\Database as Redis;
|
||||
use openid\services\INonceService;
|
||||
use openid\exceptions\ReplayAttackException;
|
||||
|
||||
class NonceService implements INonceService {
|
||||
|
||||
private $redis;
|
||||
|
||||
public function __construct(){
|
||||
$this->redis = \RedisLV4::connection();
|
||||
}
|
||||
|
||||
public function generateNonce()
|
||||
{
|
||||
$nonce = gmdate('Y-m-d\TH:i:s\Z') . uniqid();
|
||||
//sets the $nonce to live 60 secs
|
||||
$this->redis->setex($nonce,3600 ,'');
|
||||
return $nonce;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $nonce
|
||||
* @param $signature
|
||||
* @throws \openid\exceptions\ReplayAttackException
|
||||
*/
|
||||
public function markNonceAsInvalid($nonce, $signature)
|
||||
{
|
||||
$old_signature = $this->redis->get($nonce);
|
||||
if(!$old_signature){
|
||||
throw new ReplayAttackException(sprintf("nonce %s was already used!.",$nonce));
|
||||
}
|
||||
if($old_signature!=$signature){
|
||||
throw new ReplayAttackException(sprintf("nonce %s was associated with sig %s, but sig %s was provided.",$nonce,$old_signature,$signature));
|
||||
}
|
||||
$this->redis->del($nonce);
|
||||
}
|
||||
|
||||
public function associateNonce($nonce, $signature)
|
||||
{
|
||||
$this->redis->setex($nonce,3600,$signature);
|
||||
}
|
||||
}
|
|
@ -10,11 +10,18 @@
|
|||
namespace services;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use openid\services\Registry;
|
||||
use Illuminate\Redis\Database;
|
||||
|
||||
class ServicesProvider extends ServiceProvider {
|
||||
|
||||
public function register()
|
||||
{
|
||||
|
||||
$this->app['redis'] = $this->app->share(function($app)
|
||||
{
|
||||
return new Database($app['config']['database.redis']);
|
||||
});
|
||||
|
||||
$this->app->singleton('openid\\services\\IMementoOpenIdRequestService','services\\MementoRequestService');
|
||||
$this->app->singleton('openid\\handlers\\IOpenIdAuthenticationStrategy','services\\AuthenticationStrategy');
|
||||
$this->app->singleton('openid\\services\\IServerExtensionsService','services\\ServerExtensionsService');
|
||||
|
@ -22,6 +29,7 @@ class ServicesProvider extends ServiceProvider {
|
|||
$this->app->singleton('openid\\services\\ITrustedSitesService','services\\TrustedSitesService');
|
||||
$this->app->singleton('openid\\services\\IServerConfigurationService','services\\ServerConfigurationService');
|
||||
$this->app->singleton('openid\\services\\IUserService','services\\UserService');
|
||||
$this->app->singleton('openid\\services\\INonceService','services\\NonceService');
|
||||
|
||||
Registry::getInstance()->set("openid\\services\\IMementoOpenIdRequestService",\App::make("openid\\services\\IMementoOpenIdRequestService"));
|
||||
Registry::getInstance()->set("openid\\handlers\\IOpenIdAuthenticationStrategy",\App::make("openid\\handlers\\IOpenIdAuthenticationStrategy"));
|
||||
|
@ -30,6 +38,11 @@ class ServicesProvider extends ServiceProvider {
|
|||
Registry::getInstance()->set("openid\\services\\ITrustedSitesService",\App::make("openid\\services\\ITrustedSitesService"));
|
||||
Registry::getInstance()->set("openid\\services\\IServerConfigurationService",\App::make("openid\\services\\IServerConfigurationService"));
|
||||
Registry::getInstance()->set("openid\\services\\IUserService",\App::make("openid\\services\\IUserService"));
|
||||
Registry::getInstance()->set("openid\\services\\INonceService",\App::make("openid\\services\\INonceService"));
|
||||
}
|
||||
|
||||
public function provides()
|
||||
{
|
||||
return array('redis');
|
||||
}
|
||||
}
|
|
@ -14,8 +14,8 @@ class OpenIdDirectResponseStrategy implements IOpenIdResponseStrategy {
|
|||
|
||||
public function handle($response)
|
||||
{
|
||||
$response = Response::make($response->getContent(), $response->getHttpCode());
|
||||
$response->header('Content-Type', $response->getContentType());
|
||||
return $response;
|
||||
$http_response = Response::make($response->getContent(), $response->getHttpCode());
|
||||
$http_response->header('Content-Type', $response->getContentType());
|
||||
return $http_response;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
@if(count($attributes)>0)
|
||||
<ul>
|
||||
@foreach ($attributes as $attr)
|
||||
<li>{{$attr}}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
@endif
|
|
@ -2,8 +2,16 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>OpenstackId Idp</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
{{ HTML::style('css/bootstrap.css') }}
|
||||
{{ HTML::script('js/jquery-2.0.3.min.js')}}
|
||||
</head>
|
||||
<body>
|
||||
<div
|
||||
@yield('content')
|
||||
|
||||
{{ HTML::script('js/bootstrap.min.js')}}
|
||||
@yield('scripts')
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -10,10 +10,31 @@
|
|||
<h3>Trusted Sites</h3>
|
||||
<ul>
|
||||
@foreach ($sites as $site)
|
||||
<li><div><span>Realm {{ $site->getRealm() }} - Policy {{ $site->getAuthorizationPolicy() }}</span> <a href="#">Edit</a> <a href="#">Delete</a></div></li>
|
||||
<li><div><span>Realm {{ $site->getRealm() }} - Policy {{ $site->getAuthorizationPolicy() }}</span> {{ HTML::link('','Edit',array('class'=>'btn edit-realm')) }} {{ HTML::link(URL::action("UserController@get_deleteTrustedSite",array("id"=>$site->id)),'Delete',array('class'=>'btn del-realm')) }}</div></li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
@section('scripts')
|
||||
<script type="application/javascript">
|
||||
$(document).ready(function() {
|
||||
|
||||
$("#trusted_sites").on('click',".del-realm",function(event){
|
||||
var url = $(this).attr("href") ;
|
||||
$.ajax({
|
||||
url: url,
|
||||
type: "GET",
|
||||
dataType : "json",
|
||||
success: function( json ) {
|
||||
},
|
||||
error: function( xhr, status ) {
|
||||
alert( "Sorry, there was a problem!" );
|
||||
}
|
||||
});
|
||||
event.preventDefault();
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@stop
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
Binary file not shown.
After Width: | Height: | Size: 8.6 KiB |
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue