[smarcet] - Refs #4578- OpenId - Server Core Logic - Authentication Workflow
This commit is contained in:
parent
9c407de37d
commit
d1e6d73f8f
@ -1,126 +1,273 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" name="Default" comment="">
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/auth/AuthService.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/auth/AuthenticationServiceProvider.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/services/AuthenticationStrategy.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/auth/CustomAuthProvider.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/auth/CustomUser.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/services/IAuthService.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/services/IMementoOpenIdRequestService.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/handlers/IOpenIdAuthenticationStrategy.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/strategies/IOpenIdResponseStrategy.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/exceptions/InvalidKVFormat.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/exceptions/InvalidOpenIdMessageException.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/services/MementoRequestService.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/requests/OpenIdAuthenticationRequest.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/responses/OpenIdDirectGenericErrorResponse.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/responses/OpenIdDirectResponse.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/responses/OpenIdIndirectResponse.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/requests/OpenIdRequest.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/responses/OpenIdResponse.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/strategies/OpenIdResponseStrategyFactoryMethod.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/services/ServicesProvider.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/controllers/UserController.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/views/consent.blade.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/views/error.blade.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/views/home.blade.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/views/layout.blade.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/views/login.blade.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/IOpenIdProtocol.php" afterPath="$PROJECT_DIR$/app/libs/openid/IOpenIdProtocol.php" />
|
||||
<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/database/migrations/2013_10_17_210518_create_users_table.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/database/migrations/2013_10_17_210730_create_associations_table.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/database/migrations/2013_10_17_211051_create_trusted_sites_table.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/database/migrations/2013_10_17_211839_alter_trusted_sites_table.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/model/IAssociation.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/services/IAssociationService.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/extensions/IOpenIdExtension.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/model/IOpenIdUser.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/services/IServerConfigurationService.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/services/IServerExtensionsService.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/model/ITrustedSite.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/services/ITrustedSitesService.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/exceptions/InvalidOpenIdAuthenticationRequestMode.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/exceptions/InvalidOpenIdMessageMode.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/exceptions/InvalidRequestContextException.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/extensions/implementations/OpenIdAXExtension.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/helpers/OpenIdCryptoHelper.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/strategies/OpenIdDirectResponseStrategy.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/helpers/OpenIdErrorMessages.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/responses/OpenIdImmediateNegativeAssertion.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/responses/OpenIdIndirectGenericErrorResponse.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/strategies/OpenIdIndirectResponseStrategy.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/responses/OpenIdNonImmediateNegativeAssertion.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/extensions/implementations/OpenIdOAuthExtension.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/extensions/implementations/OpenIdPAPEExtension.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/responses/OpenIdPositiveAssertionResponse.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/strategies/OpenIdResponseStrategyProvider.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/extensions/implementations/OpenIdSREGExtension.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/helpers/OpenIdSignatureBuilder.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/models/OpenIdTrustedSite.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/helpers/OpenIdUriHelper.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/auth/OpenIdUser.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/requests/contexts/PartialView.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/requests/contexts/RequestContext.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/libs/openid/responses/contexts/ResponseContext.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/services/ServerExtensionsService.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/views/extensions/ax.blade.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/views/extensions/oauth.blade.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/views/extensions/pape.blade.php" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/app/views/extensions/sreg.blade.php" />
|
||||
<change type="DELETED" beforePath="$PROJECT_DIR$/app/libs/auth/CustomUser.php" afterPath="" />
|
||||
<change type="DELETED" beforePath="$PROJECT_DIR$/app/models/User.php" afterPath="" />
|
||||
<change type="MOVED" beforePath="$PROJECT_DIR$/app/libs/openid/handlers/OpenIdVoidRequestHandler.php" afterPath="$PROJECT_DIR$/app/models/OpenIdAssociation.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/database/migrations/2013_10_14_155702_create_extension_table.php" afterPath="$PROJECT_DIR$/app/database/migrations/2013_10_14_155702_create_extension_table.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/auth/AuthService.php" afterPath="$PROJECT_DIR$/app/libs/auth/AuthService.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/services/AuthenticationStrategy.php" afterPath="$PROJECT_DIR$/app/services/AuthenticationStrategy.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/openid/services/IAuthService.php" afterPath="$PROJECT_DIR$/app/libs/openid/services/IAuthService.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/openid/handlers/IOpenIdAuthenticationStrategy.php" afterPath="$PROJECT_DIR$/app/libs/openid/handlers/IOpenIdAuthenticationStrategy.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/openid/strategies/IOpenIdResponseStrategy.php" afterPath="$PROJECT_DIR$/app/libs/openid/strategies/IOpenIdResponseStrategy.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/openid/repositories/IServerExtensionsRepository.php" afterPath="$PROJECT_DIR$/app/libs/openid/repositories/IServerExtensionsRepository.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/OpenIdDirectGenericErrorResponse.php" afterPath="$PROJECT_DIR$/app/libs/openid/responses/OpenIdDirectGenericErrorResponse.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/openid/responses/OpenIdIndirectResponse.php" afterPath="$PROJECT_DIR$/app/libs/openid/responses/OpenIdIndirectResponse.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/openid/OpenIdMessage.php" afterPath="$PROJECT_DIR$/app/libs/openid/OpenIdMessage.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/OpenIdProtocol.php" afterPath="$PROJECT_DIR$/app/libs/openid/OpenIdProtocol.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/controllers/OpenIdProviderController.php" afterPath="$PROJECT_DIR$/app/controllers/OpenIdProviderController.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/openid/OpenIdServiceProvider.php" afterPath="$PROJECT_DIR$/app/libs/openid/OpenIdServiceProvider.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/libs/openid/responses/OpenIdResponse.php" afterPath="$PROJECT_DIR$/app/libs/openid/responses/OpenIdResponse.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/repositories/ServerExtensionsRepositoryEloquent.php" afterPath="$PROJECT_DIR$/app/repositories/ServerExtensionsRepositoryEloquent.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/config/app.php" afterPath="$PROJECT_DIR$/app/config/app.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/config/auth.php" afterPath="$PROJECT_DIR$/app/config/auth.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/composer.json" afterPath="$PROJECT_DIR$/composer.json" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/filters.php" afterPath="$PROJECT_DIR$/app/filters.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/start/global.php" afterPath="$PROJECT_DIR$/app/start/global.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/routes.php" afterPath="$PROJECT_DIR$/app/routes.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/bootstrap/start.php" afterPath="$PROJECT_DIR$/bootstrap/start.php" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/vcs.xml" afterPath="$PROJECT_DIR$/.idea/vcs.xml" />
|
||||
<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$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
|
||||
</list>
|
||||
<ignored path="openidIdp.iws" />
|
||||
<ignored path=".idea/workspace.xml" />
|
||||
<file path="/DiscoveryController.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381940543859" ignored="false" />
|
||||
<file path="/DiscoveryControllerTest.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381770482258" ignored="false" />
|
||||
<file path="/2013_10_14_155702_create_extension_table.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381766606263" ignored="false" />
|
||||
<file path="/2013_10_14_155702_create_extension_table.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382044897650" ignored="false" />
|
||||
<file path="/ServerExtension.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381766727808" ignored="false" />
|
||||
<file path="/ServerExtensionTest.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381768563012" ignored="false" />
|
||||
<file path="/tmp/ide-phpunit.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381932516605" ignored="false" />
|
||||
<file path="/fragment.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381939546131" ignored="false" />
|
||||
<file path="/fragment.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382027125981" ignored="false" />
|
||||
<file path="/HomeController.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381939659852" ignored="false" />
|
||||
<file path="/XrdsDocumentBuilder.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381773998567" ignored="false" />
|
||||
<file path="/a.dummy" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381860882058" ignored="false" />
|
||||
<file path="/Dummy.txt" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381928444614" ignored="false" />
|
||||
<file path="/a.dummy" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382043231261" ignored="false" />
|
||||
<file path="/Dummy.txt" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382040143611" ignored="false" />
|
||||
<file path="/IXRDSService.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381773588280" ignored="false" />
|
||||
<file path="/XRDSService.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381772341971" ignored="false" />
|
||||
<file path="/XRDSDocumentTest.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381774070136" ignored="false" />
|
||||
<file path="/OpenIdProtocol.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381931590407" ignored="false" />
|
||||
<file path="/IServerExtensionsRepository.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381777956130" ignored="false" />
|
||||
<file path="/OpenIdProtocol.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382038957857" ignored="false" />
|
||||
<file path="/IServerExtensionsRepository.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381944367232" ignored="false" />
|
||||
<file path="/IServerConfigurationRepository.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381778188675" ignored="false" />
|
||||
<file path="/OpenIdProtocolTest.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381781851602" ignored="false" />
|
||||
<file path="/app.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381929077974" ignored="false" />
|
||||
<file path="/RepositoriesServiceProvider.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381780638618" ignored="false" />
|
||||
<file path="/ServerConfigurationRepositoryEloquent.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381781085301" ignored="false" />
|
||||
<file path="/ServerExtensionsRepositoryEloquent.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381781161806" ignored="false" />
|
||||
<file path="/ServerExtensionsRepositoryEloquent.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381946012463" ignored="false" />
|
||||
<file path="/IOpenIdProtocol.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381858939899" ignored="false" />
|
||||
<file path="/*.regexp" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381929360132" ignored="false" />
|
||||
<file path="/*.regexp" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382023929834" ignored="false" />
|
||||
<file path="/IOpenIdMessageHandler.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381784676935" ignored="false" />
|
||||
<file path="/OpenIdAuthenticationRequestHandler.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381931145138" ignored="false" />
|
||||
<file path="/OpenIdAuthenticationRequestHandler.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382041988563" ignored="false" />
|
||||
<file path="/OpenIdSessionAssociationRequestHandler.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381784308892" ignored="false" />
|
||||
<file path="/OpenIdCheckAuthenticationRequestHandler.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381783903261" ignored="false" />
|
||||
<file path="/OpenIdMessage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381850575982" ignored="false" />
|
||||
<file path="/OpenIdMessage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382033984714" ignored="false" />
|
||||
<file path="/OpenIdMessageHandler.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381861117166" ignored="false" />
|
||||
<file path="/OpenIdProviderController.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381931867204" ignored="false" />
|
||||
<file path="/OpenIdProviderController.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381953184255" ignored="false" />
|
||||
<file path="/OpenIdProviderControllerTest.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381786052450" ignored="false" />
|
||||
<file path="/routes.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381938649068" ignored="false" />
|
||||
<file path="/OpenIdResponse.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381845379523" ignored="false" />
|
||||
<file path="/OpenIdResponse.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382035157533" ignored="false" />
|
||||
<file path="/OpenIdDirectResponse.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381845248602" ignored="false" />
|
||||
<file path="/InvalidKVFormat.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381844314772" ignored="false" />
|
||||
<file path="/OpenIdDirectGenericErrorResponse.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381845936007" ignored="false" />
|
||||
<file path="/OpenIdIndirectResponse.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381849721836" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/training/Training.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381847865179" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/registration/code/EditProfileForm.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381847865179" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/registration/code/EditProfilePage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381847865179" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/Project.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381847865179" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/SpeakerVotingPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381847865179" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/training/Frontend/TrainingDirectoryPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381847865179" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/registration/code/MemberDecorator.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381847865179" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/_config.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381848984796" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/registration/code/RegistrationPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381847865179" ignored="false" />
|
||||
<file path="/OpenIdDirectGenericErrorResponse.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382038608960" ignored="false" />
|
||||
<file path="/OpenIdIndirectResponse.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381963106374" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/training/Training.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370381" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/registration/code/EditProfileForm.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370387" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/registration/code/EditProfilePage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370387" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/Project.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370388" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/SpeakerVotingPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370385" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/training/Frontend/TrainingDirectoryPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370385" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/registration/code/MemberDecorator.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370387" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/_config.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370389" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/registration/code/RegistrationPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370387" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/_ss_environment.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381848972509" ignored="false" />
|
||||
<file path="/_config.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381848980103" ignored="false" />
|
||||
<file path="/OpenIdRequest.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381937700057" ignored="false" />
|
||||
<file path="/OpenIdAuthenticationRequest.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381938030158" ignored="false" />
|
||||
<file path="/OpenIdAuthenticationRequest.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382037263085" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../LaravelTest/test/bootstrap/start.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381851672863" ignored="false" />
|
||||
<file path="/CustomUser.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381851695261" ignored="false" />
|
||||
<file path="/IAuthService.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381935330879" ignored="false" />
|
||||
<file path="/CustomUser.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382043218430" ignored="false" />
|
||||
<file path="/IAuthService.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382036720942" ignored="false" />
|
||||
<file path="/AuthService.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381935287069" ignored="false" />
|
||||
<file path="/IMementoRequestService.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381852639908" ignored="false" />
|
||||
<file path="/layout.blade.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381853928575" ignored="false" />
|
||||
<file path="/error.blade.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381854085102" ignored="false" />
|
||||
<file path="/global.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381857547950" ignored="false" />
|
||||
<file path="/IOpenIdResponseStrategy.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381858495548" ignored="false" />
|
||||
<file path="/OpenIdResponseStrategyFactoryMethod.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381858678733" ignored="false" />
|
||||
<file path="/OpenIdResponseStrategyFactoryMethod.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381952554728" ignored="false" />
|
||||
<file path="/IAuthenticationStrategy.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381861012975" ignored="false" />
|
||||
<file path="/UserController.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381938151332" ignored="false" />
|
||||
<file path="/login.blade.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381937249526" ignored="false" />
|
||||
<file path="/UserController.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381951280957" ignored="false" />
|
||||
<file path="/login.blade.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381950573256" ignored="false" />
|
||||
<file path="/consent.blade.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381863616193" ignored="false" />
|
||||
<file path="/MementoRequestService.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381934837267" ignored="false" />
|
||||
<file path="/AuthenticationStrategy.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381931567723" ignored="false" />
|
||||
<file path="/AuthenticationStrategy.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381945904565" ignored="false" />
|
||||
<file path="/ServicesProvider.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381865901188" ignored="false" />
|
||||
<file path="/AuthenticationServiceProvider.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381866053563" ignored="false" />
|
||||
<file path="/IMementoOpenIdRequestService.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381930275650" ignored="false" />
|
||||
<file path="/filters.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381939274202" ignored="false" />
|
||||
<file path="/home.blade.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381939705628" ignored="false" />
|
||||
<file path="/IOpenIdExtension.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381945256985" ignored="false" />
|
||||
<file path="/RequestContext.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381951760812" ignored="false" />
|
||||
<file path="/PartialView.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381944893338" ignored="false" />
|
||||
<file path="/ResponseContext.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381945217299" ignored="false" />
|
||||
<file path="/OpenIdAXExtension.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381945303588" ignored="false" />
|
||||
<file path="/OpenIdSREGExtension.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381945368209" ignored="false" />
|
||||
<file path="/IOpenIdAuthenticationStrategy.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381945734462" ignored="false" />
|
||||
<file path="/IServerExtensionsService.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381949170421" ignored="false" />
|
||||
<file path="/ServerExtensionsService.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381949632227" ignored="false" />
|
||||
<file path="/pape.blade.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381951022347" ignored="false" />
|
||||
<file path="/OpenIdDirectResponseStrategy.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381952729742" ignored="false" />
|
||||
<file path="/OpenIdIndirectResponseStrategy.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1381953888687" ignored="false" />
|
||||
<file path="/IAssociationService.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382040567532" ignored="false" />
|
||||
<file path="/IAssociation.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382017552899" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../ZendFramework-1.12.3/demos/Zend/OpenId/test_server.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382020503104" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/_ss_environment.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382021988019" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/sample._live-config.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382022713443" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/input_html_purifier_validator/_config.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382023130737" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/input_html_purifier_validator/code/input_html_purifier_validator.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382023249388" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/form_html_purifier/code/input_html_purifier_validator.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382023612389" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/form_html_purifier/code/form_html_purifier.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382023668653" ignored="false" />
|
||||
<file path="/form_html_purifier.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382025598743" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/form_html_purifier/code/SafeXSSForm.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382026977713" ignored="false" />
|
||||
<file path="/tmp/silverstripe-cache-home-smarcet-git-www.openstack.org/.cache.registration.templates.Layout.EditProfilePage.ss" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382024476892" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/form_html_purifier/_config.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382026977713" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/dataobject_manager/code/HasManyFileDataObjectManager.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370381" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/dataobject_manager/code/simple_html_editor_field/SimpleHTMLEditorField.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370381" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/training/TrainingProgram.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370382" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/dataobject_manager/code/ManyManyFileDataObjectManager.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370382" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/themes/openstack-old/javascript/jquery.raty-2.1.0/js/jquery.min.js" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370382" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/dataobject_manager/code/HasManyDataObjectManager.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370382" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/event-signin/SigninPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370382" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/SpeakerSubmission.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370382" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/event-signin/EventSignIn.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370382" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/SpeakerListPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370382" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/BoardOfDirectorsPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370382" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/deployment-survey/Deployment.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370384" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/dataobject_manager/code/FileDataObjectManager.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370384" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/PresentationCategoryPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370384" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/dataobject_manager/code/DataObjectManager.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370384" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/ConferenceNewsPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370385" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/deployment-survey/DeploymentSurveyPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370385" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/SpeakerVote.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370385" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/SecureFiles/code/SecureFileAccessToken.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370385" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/UserStoriesHolder.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370385" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/LogoDownloadPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370385" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/JobHolder.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370385" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/LegalDocumentPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370385" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/CompaniesPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370385" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/BrandingPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370385" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/OpenstackUser.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370385" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/JSONMember.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370385" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/IVotedPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370385" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/LegalAgreement.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370385" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/SpeakerVoteTotals.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370386" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/CompanyListPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370386" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/UserStoryPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370386" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/LogoRightsSubmission.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370386" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/Voter.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370386" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/CandidatePage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370386" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/TechnicalCommitteePage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370386" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/FeedbackSubmission.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370386" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/CandidateNomination.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370386" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/Page.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370386" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/RestrictedDownloadPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370386" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/OpenStackUserRequest.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370386" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/ProductPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370386" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/AffiliationUpdate.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370386" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/ElectionVoterPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370386" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/ArticlePage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370387" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/Feature.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370387" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/EventPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370387" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/CallForSpeakersPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370387" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/NewCompanyListPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370387" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/CallForSpeakersForm.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370387" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/PdfPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370387" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/PrimaryLogoPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370387" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/AttachmentFile.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370387" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/CommMember.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370387" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/ElectionSystem.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370388" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/ArticleHolder.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370388" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/ElectionPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370388" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/JobPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370388" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/uploadify/code/s3/S3File.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370388" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/WebBadgeDownloadPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370388" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/SangriaPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370388" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/LegalDocumentsHolder.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370388" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/MemberListPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370388" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/LogoRightsPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370388" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/MemberVerifyPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370388" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/Link.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370388" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/InvolvementType.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370388" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/CommunityPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370389" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/CommPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370389" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/HomePage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370389" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/Bio.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370389" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/Org.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370389" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/Presentation.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370389" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/OneColumn.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370389" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/themes/openstack/javascript/jquery.raty-2.1.0/js/jquery.min.js" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370389" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/Candidate.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370389" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/EventHolder.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370389" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/LogoGuidelinesPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370389" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/AttachmentImage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370389" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/BioPage.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370389" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/openstack/code/Company.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370389" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/dataobject_manager/code/ImageDataObjectManager.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370389" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/themes/openstack-new/javascript/jquery.raty-2.1.0/js/jquery.min.js" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370389" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/dataobject_manager/code/ManyManyDataObjectManager.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028370390" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/registration/javascript/registration.page.js" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382027810599" ignored="false" />
|
||||
<file path="/registration.page.js" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382027595478" ignored="false" />
|
||||
<file path="$PROJECT_DIR$/../../www.openstack.org/registration/javascript/edit.profile.page.js" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382028395150" ignored="false" />
|
||||
<file path="/OpenIdPositiveAssertionResponse.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382040841463" ignored="false" />
|
||||
<file path="/OpenIdImmediateNegativeAssertion.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382038406853" ignored="false" />
|
||||
<file path="/OpenIdNonImmediateNegativeAssertion.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382035302961" ignored="false" />
|
||||
<file path="/ITrustedSitesService.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382039793081" ignored="false" />
|
||||
<file path="/IOpenIdUser.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382036261557" ignored="false" />
|
||||
<file path="/ITrustedSite.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382036504552" ignored="false" />
|
||||
<file path="/OpenIdUriHelper.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382037709193" ignored="false" />
|
||||
<file path="/OpenIdIndirectGenericErrorResponse.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382038560203" ignored="false" />
|
||||
<file path="/OpenIdErrorMessages.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382038761070" ignored="false" />
|
||||
<file path="/OpenIdCryptoHelper.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382042927540" ignored="false" />
|
||||
<file path="/OpenIdSignatureBuilder.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382042943494" ignored="false" />
|
||||
<file path="/2013_10_17_210518_create_users_table.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382043971133" ignored="false" />
|
||||
<file path="/OpenIdAssociation.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382044104891" ignored="false" />
|
||||
<file path="/OpenIdTrustedSite.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382044287141" ignored="false" />
|
||||
<file path="/2013_10_17_211051_create_trusted_sites_table.php" changelist="cdc3929b-040d-4e45-bbd9-fa8f8bc87073" time="1382045588474" ignored="false" />
|
||||
<option name="TRACKING_ENABLED" value="true" />
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
@ -143,7 +290,53 @@
|
||||
<favorites_list name="openidIdp" />
|
||||
</component>
|
||||
<component name="FileEditorManager">
|
||||
<leaf />
|
||||
<leaf>
|
||||
<file leaf-file-name="2013_10_14_155702_create_extension_table.php" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app/database/migrations/2013_10_14_155702_create_extension_table.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="15" column="33" selection-start="286" selection-end="286" vertical-scroll-proportion="-5.7916665">
|
||||
<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="15" column="33" selection-start="277" selection-end="277" vertical-scroll-proportion="-7.0416665">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="2013_10_17_211051_create_trusted_sites_table.php" pinned="false" current="true" current-in-tab="true">
|
||||
<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="14" column="53" selection-start="428" selection-end="428" vertical-scroll-proportion="0.47191012">
|
||||
<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="10" column="33" selection-start="242" selection-end="242" vertical-scroll-proportion="-5.4166665">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<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="19" column="0" selection-start="388" selection-end="388" vertical-scroll-proportion="-10.625">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
</leaf>
|
||||
</component>
|
||||
<component name="FindManager">
|
||||
<FindUsagesManager>
|
||||
@ -161,22 +354,22 @@
|
||||
<component name="IdeDocumentHistory">
|
||||
<option name="changedFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/app/libs/openid/OpenIdProtocol.php" />
|
||||
<option value="$PROJECT_DIR$/app/controllers/OpenIdProviderController.php" />
|
||||
<option value="$PROJECT_DIR$/app/libs/openid/OpenIdMessage.php" />
|
||||
<option value="$PROJECT_DIR$/app/services/MementoRequestService.php" />
|
||||
<option value="$PROJECT_DIR$/app/libs/openid/services/IAuthService.php" />
|
||||
<option value="$PROJECT_DIR$/app/libs/openid/services/ITrustedSitesService.php" />
|
||||
<option value="$PROJECT_DIR$/app/libs/openid/services/IAssociationService.php" />
|
||||
<option value="$PROJECT_DIR$/app/libs/openid/responses/OpenIdPositiveAssertionResponse.php" />
|
||||
<option value="$PROJECT_DIR$/app/libs/openid/services/IServerConfigurationService.php" />
|
||||
<option value="$PROJECT_DIR$/app/libs/openid/handlers/OpenIdAuthenticationRequestHandler.php" />
|
||||
<option value="$PROJECT_DIR$/app/libs/openid/helpers/OpenIdCryptoHelper.php" />
|
||||
<option value="$PROJECT_DIR$/app/libs/openid/helpers/OpenIdSignatureBuilder.php" />
|
||||
<option value="$PROJECT_DIR$/app/libs/auth/CustomUser.php" />
|
||||
<option value="$PROJECT_DIR$/app/libs/auth/AuthService.php" />
|
||||
<option value="$PROJECT_DIR$/app/views/login.blade.php" />
|
||||
<option value="$PROJECT_DIR$/app/libs/openid/requests/OpenIdRequest.php" />
|
||||
<option value="$PROJECT_DIR$/app/libs/openid/requests/OpenIdAuthenticationRequest.php" />
|
||||
<option value="$PROJECT_DIR$/app/routes.php" />
|
||||
<option value="$PROJECT_DIR$/app/services/AuthenticationStrategy.php" />
|
||||
<option value="$PROJECT_DIR$/app/filters.php" />
|
||||
<option value="$PROJECT_DIR$/app/controllers/UserController.php" />
|
||||
<option value="$PROJECT_DIR$/app/controllers/HomeController.php" />
|
||||
<option value="$PROJECT_DIR$/app/views/home.blade.php" />
|
||||
<option value="$PROJECT_DIR$/app/controllers/DiscoveryController.php" />
|
||||
<option value="$PROJECT_DIR$/app/models/OpenIdAssociation.php" />
|
||||
<option value="$PROJECT_DIR$/app/models/OpenIdTrustedSite.php" />
|
||||
<option value="$PROJECT_DIR$/app/database/migrations/2013_10_17_211839_alter_trusted_sites_table.php" />
|
||||
<option value="$PROJECT_DIR$/app/database/migrations/2013_10_14_155702_create_extension_table.php" />
|
||||
<option value="$PROJECT_DIR$/app/database/migrations/2013_10_17_210518_create_users_table.php" />
|
||||
<option value="$PROJECT_DIR$/app/database/migrations/2013_10_17_210730_create_associations_table.php" />
|
||||
<option value="$PROJECT_DIR$/app/database/migrations/2013_10_17_211051_create_trusted_sites_table.php" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
@ -215,7 +408,7 @@
|
||||
<OptionsSetting value="true" id="Update" />
|
||||
<OptionsSetting value="true" id="Status" />
|
||||
<OptionsSetting value="true" id="Edit" />
|
||||
<ConfirmationsSetting value="0" id="Add" />
|
||||
<ConfirmationsSetting value="2" id="Add" />
|
||||
<ConfirmationsSetting value="0" id="Remove" />
|
||||
</component>
|
||||
<component name="ProjectReloadState">
|
||||
@ -234,6 +427,7 @@
|
||||
<sortByType />
|
||||
</navigator>
|
||||
<panes>
|
||||
<pane id="Scope" />
|
||||
<pane id="ProjectPane">
|
||||
<subPane>
|
||||
<PATH>
|
||||
@ -252,6 +446,20 @@
|
||||
<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" />
|
||||
@ -266,21 +474,78 @@
|
||||
<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="options.splitter.main.proportions" value="0.3" />
|
||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||
<property name="options.lastSelected" value="Configurable.PHP.Debug" />
|
||||
<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="restartRequiresConfirmation" value="true" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/../../LaravelTest" />
|
||||
<property name="GoToClass.includeJavaFiles" value="false" />
|
||||
<property name="options.searchVisible" value="true" />
|
||||
<property name="options.splitter.details.proportions" value="0.2" />
|
||||
<property name="options.searchVisible" value="true" />
|
||||
<property name="GoToClass.includeJavaFiles" value="false" />
|
||||
</component>
|
||||
<component name="RunManager" selected="PHP Web Application.dev.openstackid.com">
|
||||
<configuration default="false" name="OpenIdProviderController.php" type="PhpLocalRunConfigurationType" factoryName="PHP Console" temporary="true" path="$PROJECT_DIR$/app/controllers/OpenIdProviderController.php">
|
||||
@ -332,8 +597,8 @@
|
||||
<method />
|
||||
</configuration>
|
||||
<list size="6">
|
||||
<item index="0" class="java.lang.String" itemvalue="PHP Script.OpenIdProviderController.php" />
|
||||
<item index="1" class="java.lang.String" itemvalue="PHP Web Application.dev.openstackid.com" />
|
||||
<item index="0" class="java.lang.String" itemvalue="PHP Web Application.dev.openstackid.com" />
|
||||
<item index="1" class="java.lang.String" itemvalue="PHP Script.OpenIdProviderController.php" />
|
||||
<item index="2" class="java.lang.String" itemvalue="PHPUnit.DiscoveryControllerTest" />
|
||||
<item index="3" class="java.lang.String" itemvalue="PHPUnit.XRDSDocumentTest" />
|
||||
<item index="4" class="java.lang.String" itemvalue="PHPUnit.DiscoveryControllerTest.testIdpDiscovery" />
|
||||
@ -373,19 +638,23 @@
|
||||
<created>1381763171476</created>
|
||||
<updated>1381763171476</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00001" summary="[smarcet] - Refs #4576, #4578 : XRDS discovery and Authentication Workflow main classes">
|
||||
<created>1381940958233</created>
|
||||
<updated>1381940958233</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="2" />
|
||||
<servers />
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<frame x="65" y="32" width="1301" height="728" extended-state="0" />
|
||||
<editor active="false" />
|
||||
<editor active="true" />
|
||||
<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="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="Find" 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="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="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.27702162" sideWeight="0.6445993" 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.3554007" sideWeight="0.6180945" order="3" 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.28182545" sideWeight="0.75261325" 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.24707846" 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.3554007" 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" />
|
||||
@ -393,6 +662,8 @@
|
||||
<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.33" 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.33" 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" />
|
||||
@ -440,7 +711,7 @@
|
||||
<option name="WRAP_WHEN_TYPING_REACHES_RIGHT_MARGIN" value="false" />
|
||||
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
|
||||
<option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="false" />
|
||||
<option name="LAST_COMMIT_MESSAGE" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="[smarcet] - Refs #4576, #4578 : XRDS discovery and Authentication Workflow main classes" />
|
||||
<option name="MAKE_NEW_CHANGELIST_ACTIVE" value="false" />
|
||||
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
|
||||
<option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
|
||||
@ -454,15 +725,11 @@
|
||||
<option name="UPDATE_FILTER_BY_SCOPE" value="false" />
|
||||
<option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
|
||||
<option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
|
||||
<MESSAGE value="[smarcet] - Refs #4576, #4578 : XRDS discovery and Authentication Workflow main classes" />
|
||||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager>
|
||||
<breakpoints>
|
||||
<line-breakpoint enabled="true" type="php">
|
||||
<url>file://$PROJECT_DIR$/app/libs/auth/AuthService.php</url>
|
||||
<line>21</line>
|
||||
<option name="timeStamp" value="80" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="php">
|
||||
<url>file://$PROJECT_DIR$/app/libs/auth/CustomAuthProvider.php</url>
|
||||
<line>43</line>
|
||||
@ -473,21 +740,6 @@
|
||||
<line>57</line>
|
||||
<option name="timeStamp" value="84" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="php">
|
||||
<url>file://$PROJECT_DIR$/app/libs/auth/CustomUser.php</url>
|
||||
<line>31</line>
|
||||
<option name="timeStamp" value="85" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="php">
|
||||
<url>file://$PROJECT_DIR$/app/libs/auth/CustomUser.php</url>
|
||||
<line>21</line>
|
||||
<option name="timeStamp" value="86" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="php">
|
||||
<url>file://$PROJECT_DIR$/app/controllers/UserController.php</url>
|
||||
<line>33</line>
|
||||
<option name="timeStamp" value="87" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="php">
|
||||
<url>file://$PROJECT_DIR$/vendor/laravel/framework/src/Illuminate/Auth/Guard.php</url>
|
||||
<line>271</line>
|
||||
@ -498,11 +750,6 @@
|
||||
<line>61</line>
|
||||
<option name="timeStamp" value="91" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="php">
|
||||
<url>file://$PROJECT_DIR$/app/filters.php</url>
|
||||
<line>100</line>
|
||||
<option name="timeStamp" value="93" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="php">
|
||||
<url>file://$PROJECT_DIR$/app/controllers/HomeController.php</url>
|
||||
<line>7</line>
|
||||
@ -518,134 +765,140 @@
|
||||
<line>297</line>
|
||||
<option name="timeStamp" value="96" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="php">
|
||||
<url>file://$PROJECT_DIR$/vendor/laravel/framework/src/Illuminate/Routing/Redirector.php</url>
|
||||
<line>114</line>
|
||||
<option name="timeStamp" value="108" />
|
||||
</line-breakpoint>
|
||||
</breakpoints>
|
||||
<breakpoints-dialog>
|
||||
<breakpoints-dialog />
|
||||
</breakpoints-dialog>
|
||||
<option name="time" value="97" />
|
||||
<option name="time" value="109" />
|
||||
</breakpoint-manager>
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/vendor/laravel/framework/src/Illuminate/Exception/Handler.php">
|
||||
<entry file="file://$PROJECT_DIR$/app/libs/openid/helpers/OpenIdCryptoHelper.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="257" column="0" selection-start="6464" selection-end="6464" vertical-scroll-proportion="0.306962">
|
||||
<state line="42" column="22" selection-start="1060" selection-end="1060" vertical-scroll-proportion="-22.5">
|
||||
<folding>
|
||||
<element signature="e#192#218#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/libs/openid/responses/OpenIdPositiveAssertionResponse.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="9" column="26" selection-start="176" selection-end="192" vertical-scroll-proportion="-1.7916666">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/services/AuthenticationStrategy.php">
|
||||
<entry file="file://$PROJECT_DIR$/app/libs/openid/handlers/OpenIdAuthenticationRequestHandler.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="17" column="5" selection-start="445" selection-end="445" vertical-scroll-proportion="0.36082473">
|
||||
<state line="173" column="13" selection-start="8594" selection-end="8594" vertical-scroll-proportion="-10.625">
|
||||
<folding>
|
||||
<element signature="e#194#219#0" expanded="true" />
|
||||
<element signature="e#8626#9554#0" expanded="false" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/vendor/laravel/framework/src/Illuminate/Auth/UserInterface.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="18" column="1" selection-start="282" selection-end="282" vertical-scroll-proportion="-11.25">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/libs/auth/OpenIdUser.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="14" column="6" selection-start="256" selection-end="266" vertical-scroll-proportion="-5.0">
|
||||
<folding>
|
||||
<element signature="e#184#218#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/libs/auth/CustomAuthProvider.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="50" column="6" selection-start="1087" selection-end="1087" vertical-scroll-proportion="1.2403846">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/libs/auth/AuthService.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="21" column="0" selection-start="367" selection-end="367" vertical-scroll-proportion="0.35759494">
|
||||
<state line="52" column="58" selection-start="1034" selection-end="1034" vertical-scroll-proportion="0.7692308">
|
||||
<folding>
|
||||
<element signature="e#183#216#0" expanded="true" />
|
||||
<element signature="e#183#226#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/filters.php">
|
||||
<entry file="file://$PROJECT_DIR$/app/libs/auth/AuthenticationServiceProvider.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="100" column="0" selection-start="2792" selection-end="2792" vertical-scroll-proportion="-6.9166665">
|
||||
<folding>
|
||||
<element signature="e#2091#2140#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/controllers/UserController.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="22" column="8" selection-start="634" selection-end="634" vertical-scroll-proportion="-8.791667">
|
||||
<folding>
|
||||
<element signature="e#165#214#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/views/login.blade.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="0" column="0" selection-start="0" selection-end="943" vertical-scroll-proportion="-0.0">
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/views/home.blade.php">
|
||||
<entry file="file://$PROJECT_DIR$/app/models/ServerExtension.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="4" column="40" selection-start="128" selection-end="128" vertical-scroll-proportion="-2.5">
|
||||
<state line="11" column="1" selection-start="209" selection-end="209" vertical-scroll-proportion="-3.125">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/libs/openid/XRDS/XRDSDocumentBuilder.php">
|
||||
<entry file="file://$PROJECT_DIR$/app/models/OpenIdAssociation.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="14" column="44" selection-start="266" selection-end="286" vertical-scroll-proportion="0.5221519">
|
||||
<state line="10" column="23" selection-start="203" selection-end="220" vertical-scroll-proportion="-0.8787879">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Client.php">
|
||||
<entry file="file://$PROJECT_DIR$/app/models/OpenIdTrustedSite.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="8" column="26" selection-start="318" selection-end="318" vertical-scroll-proportion="0.18987341">
|
||||
<state line="10" column="23" selection-start="203" selection-end="220" vertical-scroll-proportion="0.115384616">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Client.php">
|
||||
<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="31" column="25" selection-start="957" selection-end="957" vertical-scroll-proportion="0.44554454">
|
||||
<state line="19" column="0" selection-start="388" selection-end="388" vertical-scroll-proportion="-10.625">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/vendor/symfony/browser-kit/Symfony/Component/BrowserKit/Client.php">
|
||||
<entry file="file://$PROJECT_DIR$/app/database/migrations/2013_10_14_155702_create_extension_table.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="226" column="5" selection-start="5753" selection-end="5759" vertical-scroll-proportion="0.3309091">
|
||||
<state line="15" column="33" selection-start="286" selection-end="286" vertical-scroll-proportion="-5.7916665">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/tests/DiscoveryControllerTest.php">
|
||||
<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="15" column="25" selection-start="552" selection-end="552" vertical-scroll-proportion="-5.625">
|
||||
<state line="15" column="33" selection-start="277" selection-end="277" vertical-scroll-proportion="-7.0416665">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php">
|
||||
<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="16" column="6" selection-start="325" selection-end="325" vertical-scroll-proportion="18.291666">
|
||||
<state line="10" column="33" selection-start="242" selection-end="242" vertical-scroll-proportion="-5.4166665">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/routes.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="14" column="12" selection-start="447" selection-end="457" vertical-scroll-proportion="0.23734178">
|
||||
<state line="14" column="53" selection-start="428" selection-end="428" vertical-scroll-proportion="0.47191012">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/controllers/HomeController.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="1" column="0" selection-start="6" selection-end="42" vertical-scroll-proportion="-0.625">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/controllers/DiscoveryController.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="10" column="36" selection-start="231" selection-end="231" vertical-scroll-proportion="0.18987341">
|
||||
<folding>
|
||||
<element signature="e#167#194#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</component>
|
||||
</project>
|
||||
|
||||
|
@ -116,7 +116,8 @@ return array(
|
||||
'openid\OpenIdServiceProvider',
|
||||
'repositories\RepositoriesServiceProvider',
|
||||
'auth\AuthenticationServiceProvider',
|
||||
'services\ServicesProvider'
|
||||
'services\ServicesProvider',
|
||||
'strategies\OpenIdResponseStrategyProvider'
|
||||
),
|
||||
|
||||
/*
|
||||
|
@ -9,7 +9,7 @@
|
||||
use openid\services\IMementoOpenIdRequestService;
|
||||
use openid\services\IAuthService;
|
||||
use openid\requests\OpenIdAuthenticationRequest;
|
||||
|
||||
use openid\exceptions\InvalidRequestContextException;
|
||||
|
||||
class UserController extends BaseController{
|
||||
|
||||
@ -25,13 +25,26 @@ class UserController extends BaseController{
|
||||
$this->beforeFilter('openid.needs.auth.request',array('only' => array('getLogin', 'getConsent')));
|
||||
}
|
||||
|
||||
public function getLogin(){
|
||||
private function getViewData(){
|
||||
$context = Session::get('context');
|
||||
if(is_null($context))
|
||||
throw new InvalidRequestContextException();
|
||||
$partial_views = $context->getPartials();
|
||||
$data = array();
|
||||
$views = array();
|
||||
foreach($partial_views as $partial){
|
||||
$views[$partial->getName()] = View::make($partial->getName(),$partial->getData());
|
||||
}
|
||||
$data["views"]=$views;
|
||||
return $data;
|
||||
}
|
||||
|
||||
return View::make("login");
|
||||
public function getLogin(){
|
||||
$data = $this->getViewData();
|
||||
return View::make("login",$data);
|
||||
}
|
||||
|
||||
public function postLogin(){
|
||||
|
||||
$data = Input::all();
|
||||
// Build the validation constraint set.
|
||||
$rules = array(
|
||||
@ -44,7 +57,8 @@ class UserController extends BaseController{
|
||||
$username = Input::get("username");
|
||||
$password = Input::get("password");
|
||||
if($this->auth_service->Login($username,$password)){
|
||||
return Redirect::to('/accounts/user/consent');
|
||||
//go to authentication flow again
|
||||
return Redirect::action("OpenIdProviderController@op_endpoint");
|
||||
}
|
||||
return Redirect::action('UserController@getLogin')->with('flash_notice', 'Authentication Failed!');
|
||||
}
|
||||
@ -52,11 +66,12 @@ class UserController extends BaseController{
|
||||
}
|
||||
|
||||
public function getConsent(){
|
||||
return View::make("consent")->with("realm","test");
|
||||
$data = $this->getViewData();
|
||||
$data["realm"] ="test";
|
||||
return View::make("consent",$data);
|
||||
}
|
||||
|
||||
public function postConsent(){
|
||||
|
||||
return Redirect::to('/accounts/openid/v2');
|
||||
}
|
||||
}
|
@ -13,7 +13,7 @@ class CreateExtensionTable extends Migration {
|
||||
{
|
||||
Schema::create('server_extensions', function($table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->bigIncrements('id');
|
||||
$table->string('name',100);
|
||||
$table->string('namespace',255);
|
||||
$table->boolean('active');
|
||||
|
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class CreateUsersTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('openid_users', function($table)
|
||||
{
|
||||
$table->bigIncrements('id');
|
||||
$table->string('identifier',255);
|
||||
$table->string('external_id',100);
|
||||
$table->boolean('active');
|
||||
$table->dateTime('last_login_date');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('openid_users');
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class CreateAssociationsTable extends Migration {
|
||||
|
||||
public function up()
|
||||
{
|
||||
Schema::create('openid_associations', function($table)
|
||||
{
|
||||
$table->bigIncrements('id');
|
||||
$table->string('identifier',255);
|
||||
$table->string('mac_function',100);
|
||||
$table->string('secret',1024);
|
||||
$table->smallInteger('type');
|
||||
$table->integer('lifetime');
|
||||
$table->dateTime('issued');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('openid_associations');
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class CreateTrustedSitesTable extends Migration {
|
||||
|
||||
public function up()
|
||||
{
|
||||
Schema::create('openid_trusted_sites', function($table)
|
||||
{
|
||||
$table->bigIncrements('id');
|
||||
$table->string('realm',255);
|
||||
$table->string('data',1024);
|
||||
$table->string('policy',100);
|
||||
$table->bigInteger("user_id")->unsigned();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('openid_trusted_sites');
|
||||
}
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class AlterTrustedSitesTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::table('openid_trusted_sites', function($table)
|
||||
{
|
||||
$table->index('user_id');
|
||||
$table->foreign('user_id')->references('id')->on('openid_users');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::table('openid_trusted_sites', function($table)
|
||||
{
|
||||
$table->dropForeign('user_id');
|
||||
});
|
||||
}
|
||||
}
|
@ -8,6 +8,7 @@
|
||||
*/
|
||||
|
||||
namespace auth;
|
||||
use openid\services\AuthorizationResponse_;
|
||||
use openid\services\IAuthService;
|
||||
use \Auth;
|
||||
use \Session;
|
||||
@ -40,15 +41,15 @@ class AuthService implements IAuthService {
|
||||
return Auth::attempt(array('username' => $username, 'password' => $password), true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
public function isUserAuthorized()
|
||||
{
|
||||
return Session::get("authorized_state");
|
||||
}
|
||||
|
||||
public function logout(){
|
||||
Auth::logout();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return AuthorizationResponse_*
|
||||
*/
|
||||
public function getUserAuthorizationResponse()
|
||||
{
|
||||
return Session::get("openid.authorization.response");
|
||||
}
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/15/13
|
||||
* Time: 12:40 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
|
||||
namespace auth;
|
||||
use Illuminate\Auth\UserInterface;
|
||||
|
||||
class CustomUser implements UserInterface{
|
||||
|
||||
/**
|
||||
* Get the unique identifier for the user.
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function getAuthIdentifier()
|
||||
{
|
||||
// TODO: Implement getAuthIdentifier() method.
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the password for the user.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getAuthPassword()
|
||||
{
|
||||
// TODO: Implement getAuthPassword() method.
|
||||
}
|
||||
}
|
91
app/libs/auth/OpenIdUser.php
Normal file
91
app/libs/auth/OpenIdUser.php
Normal file
@ -0,0 +1,91 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/15/13
|
||||
* Time: 12:40 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
|
||||
namespace auth;
|
||||
use Illuminate\Auth\UserInterface;
|
||||
use openid\model\IOpenIdUser;
|
||||
|
||||
class OpenIdUser extends Eloquent implements UserInterface , IOpenIdUser{
|
||||
|
||||
/**
|
||||
* Get the unique identifier for the user.
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function getAuthIdentifier()
|
||||
{
|
||||
// TODO: Implement getAuthIdentifier() method.
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the password for the user.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getAuthPassword()
|
||||
{
|
||||
// TODO: Implement getAuthPassword() method.
|
||||
}
|
||||
|
||||
public function getIdentifier()
|
||||
{
|
||||
// TODO: Implement getIdentifier() method.
|
||||
}
|
||||
|
||||
public function getEmail()
|
||||
{
|
||||
// TODO: Implement getEmail() method.
|
||||
}
|
||||
|
||||
public function getFirstName()
|
||||
{
|
||||
// TODO: Implement getFirstName() method.
|
||||
}
|
||||
|
||||
public function getLastName()
|
||||
{
|
||||
// TODO: Implement getLastName() method.
|
||||
}
|
||||
|
||||
public function getFullName()
|
||||
{
|
||||
// TODO: Implement getFullName() method.
|
||||
}
|
||||
|
||||
public function getNickName()
|
||||
{
|
||||
// TODO: Implement getNickName() method.
|
||||
}
|
||||
|
||||
public function getGender()
|
||||
{
|
||||
// TODO: Implement getGender() method.
|
||||
}
|
||||
|
||||
public function getCountry()
|
||||
{
|
||||
// TODO: Implement getCountry() method.
|
||||
}
|
||||
|
||||
public function getLanguage()
|
||||
{
|
||||
// TODO: Implement getLanguage() method.
|
||||
}
|
||||
|
||||
public function getTimeZone()
|
||||
{
|
||||
// TODO: Implement getTimeZone() method.
|
||||
}
|
||||
|
||||
public function getDateOfBirth()
|
||||
{
|
||||
// TODO: Implement getDateOfBirth() method.
|
||||
}
|
||||
}
|
@ -9,16 +9,13 @@
|
||||
|
||||
namespace openid;
|
||||
|
||||
use openid\exceptions\InvalidOpenIdMessageMode;
|
||||
|
||||
class OpenIdMessage implements \ArrayAccess {
|
||||
|
||||
|
||||
protected $container = array();
|
||||
|
||||
const OpenID2MessageType="http://specs.openid.net/auth/2.0";
|
||||
const ModeType = "openid_mode";
|
||||
const NSType = "openid_ns";
|
||||
|
||||
public function __construct(array $values) {
|
||||
$this->container = $values;
|
||||
}
|
||||
@ -45,13 +42,19 @@ class OpenIdMessage implements \ArrayAccess {
|
||||
|
||||
|
||||
public function getMode(){
|
||||
return $this->container[self::ModeType];
|
||||
return $this->container[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Mode,"_")];
|
||||
}
|
||||
|
||||
protected function setMode($mode){
|
||||
if(!OpenIdProtocol::isValidMode($mode))
|
||||
throw new InvalidOpenIdMessageMode($mode);
|
||||
$this->container[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Mode)]=$mode;;
|
||||
}
|
||||
|
||||
public function IsValid(){
|
||||
if (isset($this->container[self::NSType])
|
||||
&& $this->container[self::NSType] == self::OpenID2MessageType
|
||||
&& isset($this->container[self::ModeType])){
|
||||
if (isset($this->container[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_NS,"_")])
|
||||
&& $this->container[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_NS,"_")] == OpenIdProtocol::OpenID2MessageType
|
||||
&& isset($this->container[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Mode,"_")])){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -23,8 +23,84 @@ use openid\IOpenIdProtocol;
|
||||
|
||||
class OpenIdProtocol implements IOpenIdProtocol {
|
||||
|
||||
const OpenIdPrefix = "openid";
|
||||
//protocol constants
|
||||
const OPIdentifierType = "http://specs.openid.net/auth/2.0/server";
|
||||
const ClaimedIdentifierType = "http://specs.openid.net/auth/2.0/signon";
|
||||
const OpenID2MessageType = "http://specs.openid.net/auth/2.0";
|
||||
const IdentifierSelectType = "http://specs.openid.net/auth/2.0/identifier_select";
|
||||
|
||||
const ImmediateMode = "checkid_immediate";
|
||||
const SetupMode = "checkid_setup";
|
||||
const IdMode = "id_res";
|
||||
const SetupNeededMode = "setup_needed";
|
||||
const CancelMode = "cancel";
|
||||
const CheckAuthenticationMode = "check_authentication";
|
||||
const ErrorMode = "error";
|
||||
const AssociateMode = "associate";
|
||||
|
||||
const SignatureAlgorithmHMAC_SHA1 = "HMAC-SHA1";
|
||||
const SignatureAlgorithmHMAC_SHA256 = "HMAC-SHA256";
|
||||
|
||||
const OpenIDProtocol_Mode = "mode";
|
||||
const OpenIDProtocol_NS = "ns";
|
||||
const OpenIDProtocol_ReturnTo = "return_to";
|
||||
const OpenIDProtocol_ClaimedId = "claimed_id";
|
||||
const OpenIDProtocol_Identity = "identity";
|
||||
const OpenIDProtocol_AssocHandle = "assoc_handle";
|
||||
const OpenIDProtocol_Realm = "realm";
|
||||
const OpenIDProtocol_OpEndpoint = "op_endpoint";
|
||||
const OpenIDProtocol_Nonce = "response_nonce";
|
||||
const OpenIDProtocol_InvalidateHandle = "invalidate_handle";
|
||||
const OpenIDProtocol_Signed = "signed";
|
||||
const OpenIDProtocol_Sig = "sig";
|
||||
const OpenIDProtocol_Error = "error";
|
||||
const OpenIDProtocol_Contact = "contact";
|
||||
const OpenIDProtocol_Reference = "reference";
|
||||
|
||||
|
||||
|
||||
private static $OpenIDProtocol_ValidModes = array(
|
||||
self::ImmediateMode,
|
||||
self::SetupMode,
|
||||
self::IdMode,
|
||||
self::SetupNeededMode,
|
||||
self::CancelMode,
|
||||
self::CheckAuthenticationMode,
|
||||
self::ErrorMode,
|
||||
self::AssociateMode,
|
||||
);
|
||||
|
||||
private static $protocol_definition = array(
|
||||
self::OpenIDProtocol_Mode => self::OpenIDProtocol_Mode,
|
||||
self::OpenIDProtocol_NS => self::OpenIDProtocol_NS,
|
||||
self::OpenIDProtocol_ReturnTo => self::OpenIDProtocol_ReturnTo,
|
||||
self::OpenIDProtocol_ClaimedId => self::OpenIDProtocol_ClaimedId,
|
||||
self::OpenIDProtocol_Identity => self::OpenIDProtocol_Identity,
|
||||
self::OpenIDProtocol_AssocHandle => self::OpenIDProtocol_AssocHandle,
|
||||
self::OpenIDProtocol_Realm => self::OpenIDProtocol_Realm,
|
||||
self::OpenIDProtocol_OpEndpoint => self::OpenIDProtocol_OpEndpoint,
|
||||
self::OpenIDProtocol_Nonce => self::OpenIDProtocol_Nonce,
|
||||
self::OpenIDProtocol_InvalidateHandle => self::OpenIDProtocol_InvalidateHandle,
|
||||
self::OpenIDProtocol_Signed => self::OpenIDProtocol_Signed,
|
||||
self::OpenIDProtocol_Sig => self::OpenIDProtocol_Sig,
|
||||
self::OpenIDProtocol_Error => self::OpenIDProtocol_Error,
|
||||
self::OpenIDProtocol_Contact => self::OpenIDProtocol_Contact,
|
||||
self::OpenIDProtocol_Reference => self::OpenIDProtocol_Reference,
|
||||
);
|
||||
|
||||
/**
|
||||
* check if a provide message mode is valid or not in openid 2.0 protocol
|
||||
* @param $mode
|
||||
* @return bool
|
||||
*/
|
||||
public static function isValidMode($mode){
|
||||
return in_array($mode,self::$OpenIDProtocol_ValidModes);
|
||||
}
|
||||
|
||||
public static function param($param, $separator='.'){
|
||||
return Self::OpenIdPrefix.$separator.self::$protocol_definition[$param];
|
||||
}
|
||||
|
||||
private $server_extension_repository;
|
||||
private $server_configuration;
|
||||
@ -33,18 +109,19 @@ class OpenIdProtocol implements IOpenIdProtocol {
|
||||
public function __construct(IServerConfigurationRepository $server_configuration,IServerExtensionsRepository $server_extension_repository){
|
||||
$this->server_extension_repository = $server_extension_repository;
|
||||
$this->server_configuration = $server_configuration;
|
||||
|
||||
//create chain of responsibility
|
||||
$authService = \App::make("openid\\services\\IAuthService");
|
||||
$mementoRequestService = \App::make("openid\\services\\IMementoOpenIdRequestService");
|
||||
$auth_service = \App::make("openid\\services\\IAuthService");
|
||||
$memento_request_service = \App::make("openid\\services\\IMementoOpenIdRequestService");
|
||||
$auth_strategy = \App::make("openid\\handlers\\IOpenIdAuthenticationStrategy");
|
||||
$server_extension_service = \App::make("openid\\services\\IServerExtensionsService");
|
||||
$association_service = \App::make("openid\\services\\IAssociationService");
|
||||
$trusted_sites_service = \App::make("openid\\services\\ITrustedSitesService");
|
||||
|
||||
$successor = new OpenIdSessionAssociationRequestHandler(new OpenIdCheckAuthenticationRequestHandler(null));
|
||||
$this->request_handlers = new OpenIdAuthenticationRequestHandler($authService,$mementoRequestService,$auth_strategy,$successor);
|
||||
$this->request_handlers = new OpenIdAuthenticationRequestHandler($auth_service,$memento_request_service,$auth_strategy,$server_extension_service,$association_service,$trusted_sites_service,$successor);
|
||||
}
|
||||
|
||||
public function getXRDSDiscovery(){
|
||||
|
||||
$active_extensions = $this->server_extension_repository->GetAllExtensions();
|
||||
$extensions = array();
|
||||
foreach($active_extensions as $ext){
|
||||
|
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/17/13
|
||||
* Time: 10:35 AM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\exceptions;
|
||||
use \Exception;
|
||||
|
||||
class InvalidOpenIdAuthenticationRequestMode extends Exception{
|
||||
|
||||
public function __construct($message = "") {
|
||||
$message = "InvalidOpenIdAuthenticationRequestMode : ".$message;
|
||||
parent::__construct($message, 0 , null);
|
||||
}
|
||||
|
||||
}
|
20
app/libs/openid/exceptions/InvalidOpenIdMessageMode.php
Normal file
20
app/libs/openid/exceptions/InvalidOpenIdMessageMode.php
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/17/13
|
||||
* Time: 3:19 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\exceptions;
|
||||
use \Exception;
|
||||
|
||||
class InvalidOpenIdMessageMode extends Exception{
|
||||
|
||||
public function __construct($message = "") {
|
||||
$message = "InvalidOpenIdMessageMode : ".$message;
|
||||
parent::__construct($message, 0 , null);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/16/13
|
||||
* Time: 4:00 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\exceptions;
|
||||
use \Exception;
|
||||
|
||||
class InvalidRequestContextException extends Exception{
|
||||
|
||||
public function __construct($message = "") {
|
||||
$message = "InvalidRequestContextException : ".$message;
|
||||
parent::__construct($message, 0 , null);
|
||||
}
|
||||
|
||||
}
|
21
app/libs/openid/extensions/IOpenIdExtension.php
Normal file
21
app/libs/openid/extensions/IOpenIdExtension.php
Normal file
@ -0,0 +1,21 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/16/13
|
||||
* Time: 2:29 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\extensions;
|
||||
|
||||
use openid\requests\OpenIdRequest;
|
||||
use openid\requests\contexts\RequestContext;
|
||||
use openid\responses\OpenIdResponse;
|
||||
use openid\responses\contexts\ResponseContext;
|
||||
|
||||
interface IOpenIdExtension {
|
||||
|
||||
public function apply(OpenIdRequest $request,RequestContext $context);
|
||||
public function transform(OpenIdRequest $request,OpenIdResponse $response ,ResponseContext $context);
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/16/13
|
||||
* Time: 2:41 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\extensions\implementations;
|
||||
|
||||
|
||||
use openid\extensions\IOpenIdExtension;
|
||||
use openid\requests\contexts\RequestContext;
|
||||
use openid\requests\OpenIdRequest;
|
||||
use openid\responses\contexts\ResponseContext;
|
||||
use openid\responses\OpenIdResponse;
|
||||
|
||||
class OpenIdAXExtension implements IOpenIdExtension {
|
||||
|
||||
public function apply(OpenIdRequest $request, RequestContext $context)
|
||||
{
|
||||
// TODO: Implement apply() method.
|
||||
}
|
||||
|
||||
public function transform(OpenIdRequest $request, OpenIdResponse $response, ResponseContext $context)
|
||||
{
|
||||
// TODO: Implement transform() method.
|
||||
}
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/16/13
|
||||
* Time: 2:43 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\extensions\implementations;
|
||||
use openid\extensions\IOpenIdExtension;
|
||||
use openid\requests\contexts\RequestContext;
|
||||
use openid\requests\OpenIdRequest;
|
||||
use openid\responses\contexts\ResponseContext;
|
||||
use openid\responses\OpenIdResponse;
|
||||
|
||||
class OpenIdOAuthExtension implements IOpenIdExtension {
|
||||
|
||||
public function apply(OpenIdRequest $request, RequestContext $context)
|
||||
{
|
||||
// TODO: Implement apply() method.
|
||||
}
|
||||
|
||||
public function transform(OpenIdRequest $request, OpenIdResponse $response, ResponseContext $context)
|
||||
{
|
||||
// TODO: Implement transform() method.
|
||||
}
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/16/13
|
||||
* Time: 2:42 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\extensions\implementations;
|
||||
use openid\extensions\IOpenIdExtension;
|
||||
use openid\requests\contexts\RequestContext;
|
||||
use openid\requests\OpenIdRequest;
|
||||
use openid\responses\contexts\ResponseContext;
|
||||
use openid\responses\OpenIdResponse;
|
||||
|
||||
class OpenIdPAPEExtension implements IOpenIdExtension {
|
||||
|
||||
public function apply(OpenIdRequest $request, RequestContext $context)
|
||||
{
|
||||
// TODO: Implement apply() method.
|
||||
}
|
||||
|
||||
public function transform(OpenIdRequest $request, OpenIdResponse $response, ResponseContext $context)
|
||||
{
|
||||
// TODO: Implement transform() method.
|
||||
}
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/16/13
|
||||
* Time: 2:42 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\extensions\implementations;
|
||||
use openid\extensions\IOpenIdExtension;
|
||||
use openid\requests\contexts\RequestContext;
|
||||
use openid\requests\OpenIdRequest;
|
||||
use openid\responses\contexts\ResponseContext;
|
||||
use openid\responses\OpenIdResponse;
|
||||
|
||||
class OpenIdSREGExtension implements IOpenIdExtension
|
||||
{
|
||||
|
||||
public function apply(OpenIdRequest $request, RequestContext $context)
|
||||
{
|
||||
// TODO: Implement apply() method.
|
||||
}
|
||||
|
||||
public function transform(OpenIdRequest $request, OpenIdResponse $response, ResponseContext $context)
|
||||
{
|
||||
// TODO: Implement transform() method.
|
||||
}
|
||||
}
|
@ -9,9 +9,10 @@
|
||||
|
||||
namespace openid\handlers;
|
||||
use openid\requests\OpenIdAuthenticationRequest;
|
||||
|
||||
use openid\requests\contexts\RequestContext;
|
||||
interface IOpenIdAuthenticationStrategy {
|
||||
|
||||
public function doLogin(OpenIdAuthenticationRequest $request);
|
||||
public function doConsent(OpenIdAuthenticationRequest $request);
|
||||
public function doLogin(OpenIdAuthenticationRequest $request,RequestContext $context);
|
||||
|
||||
public function doConsent(OpenIdAuthenticationRequest $request,RequestContext $context);
|
||||
}
|
@ -9,11 +9,28 @@
|
||||
|
||||
namespace openid\handlers;
|
||||
|
||||
|
||||
use openid\OpenIdMessage;
|
||||
use openid\OpenIdProtocol;
|
||||
use openid\requests\OpenIdAuthenticationRequest;
|
||||
use openid\services\IAuthService;
|
||||
use openid\services\IMementoOpenIdRequestService;
|
||||
use openid\services\IServerExtensionsService;
|
||||
use openid\services\IAssociationService;
|
||||
use openid\requests\contexts\RequestContext;
|
||||
use openid\responses\contexts\ResponseContext;
|
||||
use openid\exceptions\InvalidOpenIdAuthenticationRequestMode;
|
||||
use openid\responses\OpenIdNonImmediateNegativeAssertion;
|
||||
use openid\responses\OpenIdImmediateNegativeAssertion;
|
||||
use openid\services\ITrustedSitesService;
|
||||
use openid\responses\OpenIdIndirectResponse;
|
||||
use openid\exceptions\OpenIdIndirectGenericErrorResponse;
|
||||
use openid\helpers\OpenIdErrorMessages;
|
||||
use openid\helpers\OpenIdCryptoHelper;
|
||||
use openid\model\IAssociation;
|
||||
use openid\responses\OpenIdPositiveAssertionResponse;
|
||||
use openid\services\IServerConfigurationService;
|
||||
use openid\helpers\OpenIdSignatureBuilder;
|
||||
|
||||
/**
|
||||
* Class OpenIdAuthenticationRequestHandler
|
||||
* @package openid\handlers
|
||||
@ -23,38 +40,160 @@ class OpenIdAuthenticationRequestHandler extends OpenIdMessageHandler
|
||||
private $authService;
|
||||
private $mementoRequestService;
|
||||
private $auth_strategy;
|
||||
private $server_extensions_service;
|
||||
private $association_service;
|
||||
private $trusted_sites_service;
|
||||
private $server_configuration_service;
|
||||
|
||||
public function __construct(IAuthService $authService,
|
||||
IMementoOpenIdRequestService $mementoRequestService,
|
||||
IOpenIdAuthenticationStrategy $auth_strategy, $successor)
|
||||
IOpenIdAuthenticationStrategy $auth_strategy,
|
||||
IServerExtensionsService $server_extensions_service,
|
||||
IAssociationService $association_service,
|
||||
ITrustedSitesService $trusted_sites_service,
|
||||
IServerConfigurationService $server_configuration_service,
|
||||
$successor)
|
||||
{
|
||||
parent::__construct($successor);
|
||||
|
||||
$this->authService = $authService;
|
||||
$this->mementoRequestService = $mementoRequestService;
|
||||
$this->auth_strategy = $auth_strategy;
|
||||
$this->server_extensions_service = $server_extensions_service;
|
||||
$this->association_service = $association_service;
|
||||
$this->trusted_sites_service = $trusted_sites_service;
|
||||
$this->server_configuration_service = $server_configuration_service;
|
||||
}
|
||||
|
||||
|
||||
private function doAssertion(OpenIdAuthenticationRequest $request,$extensions){
|
||||
$currentUser = $this->authService->getCurrentUser();
|
||||
$context = new ResponseContext;
|
||||
$op_endpoint = $this->server_configuration_service->getOPEndpointURL();
|
||||
$identity = $currentUser->getIdentifier();
|
||||
$response = new OpenIdPositiveAssertionResponse($op_endpoint,$identity,$identity,$request->getReturnTo());
|
||||
foreach($extensions as $ext){
|
||||
$ext->transform($request,$response,$context);
|
||||
}
|
||||
//check former assoc handle...
|
||||
$assoc_handle = $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);
|
||||
$new_handle = uniqid();
|
||||
//todo: get from somewhere?
|
||||
$lifetime = 120;
|
||||
$issued = gmdate("Y-m-d H:i:s", time());
|
||||
$this->association_service->addAssociation($new_handle,$new_secret,$lifetime,$issued,IAssociation::TypePrivate);
|
||||
$response->setAssocHandle($new_handle);
|
||||
if(!empty($assoc_handle)){
|
||||
$response->setInvalidateHandle($assoc_handle);
|
||||
}
|
||||
$association = $this->association_service->getAssociation($new_handle);
|
||||
}
|
||||
else{
|
||||
$response->setAssocHandle($assoc_handle);
|
||||
}
|
||||
OpenIdSignatureBuilder::build($context,$association->getMacFunction(),$association->getSecret(),$response);
|
||||
return $response;
|
||||
}
|
||||
|
||||
protected function InternalHandle(OpenIdMessage $message)
|
||||
{
|
||||
$request = new OpenIdAuthenticationRequest($message);
|
||||
//validate request?
|
||||
$extensions = $this->server_extensions_service->getAllActiveExtensions();
|
||||
$context = new RequestContext;
|
||||
$mode = $request->getMode();
|
||||
switch($mode){
|
||||
case OpenIdProtocol::SetupMode:
|
||||
{
|
||||
if(!$this->authService->isUserLogged()){
|
||||
//do login process
|
||||
$context->setStage(RequestContext::StageLogin);
|
||||
foreach($extensions as $ext){
|
||||
$ext->apply($request,$context);
|
||||
}
|
||||
$this->mementoRequestService->saveCurrentRequest();
|
||||
return $this->auth_strategy->doLogin($request);
|
||||
return $this->auth_strategy->doLogin($request,$context);
|
||||
}
|
||||
else {
|
||||
//user already logged
|
||||
$currentUser = $this->authService->getCurrentUser();
|
||||
if($this->authService->isUserAuthorized()){
|
||||
// make assertion about identity
|
||||
// factory response and return
|
||||
}
|
||||
else{
|
||||
$site = $this->trusted_sites_service->getTrustedSite($currentUser,$request->getTrustedRoot());
|
||||
$authorization_response = $this->authService->getUserAuthorizationResponse();
|
||||
if($authorization_response == IAuthService::AuthorizationResponse_None){
|
||||
if(is_null($site)){
|
||||
//do consent process
|
||||
$this->mementoRequestService->saveCurrentRequest();
|
||||
$this->auth_strategy->doConsent($request);
|
||||
$context->setStage(RequestContext::StageConsent);
|
||||
foreach($extensions as $ext){
|
||||
$ext->apply($request,$context);
|
||||
}
|
||||
$this->auth_strategy->doConsent($request,$context);
|
||||
}
|
||||
else{
|
||||
$policy = $site->getAuthorizationPolicy();
|
||||
switch($policy){
|
||||
case IAuthService::AuthorizationResponse_AllowForever:
|
||||
return $this->doAssertion($request,$extensions);
|
||||
break;
|
||||
case IAuthService::AuthorizationResponse_DenyForever:
|
||||
// black listed site
|
||||
return new OpenIdIndirectGenericErrorResponse(sprintf(OpenIdErrorMessages::RealmNotAllowedByUserMessage,$site->getRealm()));
|
||||
break;
|
||||
default:
|
||||
throw new \Exception("Invalid Realm Policy");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
// check response
|
||||
switch ($authorization_response){
|
||||
case IAuthService::AuthorizationResponse_AllowForever:
|
||||
$this->trusted_sites_service->addTrustedSite($currentUser,$request->getTrustedRoot(),IAuthService::AuthorizationResponse_AllowForever);
|
||||
return $this->doAssertion($request,$extensions);
|
||||
break;
|
||||
case IAuthService::AuthorizationResponse_AllowOnce:
|
||||
return $this->doAssertion($request,$extensions);
|
||||
break;
|
||||
case IAuthService::AuthorizationResponse_DenyOnce:
|
||||
return new OpenIdNonImmediateNegativeAssertion;
|
||||
break;
|
||||
case IAuthService::AuthorizationResponse_DenyForever:
|
||||
$this->trusted_sites_service->addTrustedSite($currentUser,$request->getTrustedRoot(),IAuthService::AuthorizationResponse_DenyForever);
|
||||
return new OpenIdNonImmediateNegativeAssertion;
|
||||
break;
|
||||
default:
|
||||
throw new \Exception("Invalid Authorization response!");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case OpenIdProtocol::ImmediateMode:
|
||||
{
|
||||
if(!$this->authService->isUserLogged()){
|
||||
return new OpenIdImmediateNegativeAssertion;
|
||||
}
|
||||
$currentUser = $this->authService->getCurrentUser();
|
||||
$site = $this->trusted_sites_service->getTrustedSite($currentUser,$request->getTrustedRoot());
|
||||
if(is_null($site)){
|
||||
return new OpenIdImmediateNegativeAssertion;
|
||||
}
|
||||
$policy = $site->getAuthorizationPolicy();
|
||||
if($policy == IAuthService::AuthorizationResponse_DenyForever){
|
||||
// black listed site
|
||||
return new OpenIdIndirectGenericErrorResponse(sprintf(OpenIdErrorMessages::RealmNotAllowedByUserMessage,$site->getRealm()));
|
||||
}
|
||||
return $this->doAssertion($request,$extensions);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
throw new InvalidOpenIdAuthenticationRequestMode;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,15 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/14/13
|
||||
* Time: 6:33 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\handlers;
|
||||
|
||||
|
||||
class OpenIdVoidRequestHandler {
|
||||
|
||||
}
|
124
app/libs/openid/helpers/OpenIdCryptoHelper.php
Normal file
124
app/libs/openid/helpers/OpenIdCryptoHelper.php
Normal file
@ -0,0 +1,124 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/17/13
|
||||
* Time: 5:01 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\helpers;
|
||||
use openid\OpenIdProtocol;
|
||||
use Zend\Math\Rand;
|
||||
|
||||
class OpenIdCryptoHelper
|
||||
{
|
||||
|
||||
public static function generateSecret($func)
|
||||
{
|
||||
if ($func == OpenIdProtocol::SignatureAlgorithmHMAC_SHA1) {
|
||||
$macLen = 20; /* 160 bit */
|
||||
} else if ($func == OpenIdProtocol::SignatureAlgorithmHMAC_SHA256) {
|
||||
$macLen = 32; /* 256 bit */
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
return self::randomBytes($macLen);
|
||||
}
|
||||
|
||||
/**
|
||||
* Produces string of random byte of given length.
|
||||
*
|
||||
* @param integer $len length of requested string
|
||||
* @return string RAW random binary string
|
||||
*/
|
||||
static public function randomBytes($len)
|
||||
{
|
||||
Rand::getBytes($len,true);
|
||||
}
|
||||
|
||||
static public function computeHMAC($macFunc, $data, $secret)
|
||||
{
|
||||
if (function_exists('hash_hmac')) {
|
||||
return hash_hmac($macFunc, $data, $secret, 1);
|
||||
} else {
|
||||
if (self::strlen($secret) > 64) {
|
||||
$secret = self::digest($macFunc, $secret);
|
||||
}
|
||||
$secret = str_pad($secret, 64, chr(0x00));
|
||||
$ipad = str_repeat(chr(0x36), 64);
|
||||
$opad = str_repeat(chr(0x5c), 64);
|
||||
$hash1 = self::digest($macFunc, ($secret ^ $ipad) . $data);
|
||||
return self::digest($macFunc, ($secret ^ $opad) . $hash1);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns lenght of binary string in bytes
|
||||
*
|
||||
* @param string $str
|
||||
* @return int the string lenght
|
||||
*/
|
||||
static public function strlen($str)
|
||||
{
|
||||
if (extension_loaded('mbstring') &&
|
||||
(((int)ini_get('mbstring.func_overload')) & 2)
|
||||
) {
|
||||
return mb_strlen($str, 'latin1');
|
||||
} else {
|
||||
return strlen($str);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a hash value (message digest) according to given algorithm.
|
||||
* It returns RAW binary string.
|
||||
*
|
||||
* This is a wrapper function that uses one of available internal function
|
||||
* dependent on given PHP configuration. It may use various functions from
|
||||
* ext/openssl, ext/hash, ext/mhash or ext/standard.
|
||||
*
|
||||
* @param string $func digest algorithm
|
||||
* @param string $data data to sign
|
||||
* @return string RAW digital signature
|
||||
* @throws \Exception
|
||||
*/
|
||||
static public function digest($func, $data)
|
||||
{
|
||||
if (function_exists('openssl_digest')) {
|
||||
return openssl_digest($data, $func, true);
|
||||
} else if (function_exists('hash')) {
|
||||
return hash($func, $data, true);
|
||||
} else if ($func === 'sha1') {
|
||||
return sha1($data, true);
|
||||
} else if ($func === 'sha256') {
|
||||
if (function_exists('mhash')) {
|
||||
return mhash(MHASH_SHA256, $data);
|
||||
}
|
||||
}
|
||||
throw new \Exception('Unsupported digest algorithm "' . $func . '".');
|
||||
}
|
||||
|
||||
/**
|
||||
* Takes an arbitrary precision integer and returns its shortest big-endian
|
||||
* two's complement representation.
|
||||
*
|
||||
* Arbitrary precision integers MUST be encoded as big-endian signed two's
|
||||
* complement binary strings. Henceforth, "btwoc" is a function that takes
|
||||
* an arbitrary precision integer and returns its shortest big-endian two's
|
||||
* complement representation. All integers that are used with
|
||||
* Diffie-Hellman Key Exchange are positive. This means that the left-most
|
||||
* bit of the two's complement representation MUST be zero. If it is not,
|
||||
* implementations MUST add a zero byte at the front of the string.
|
||||
*
|
||||
* @param string $str binary representation of arbitrary precision integer
|
||||
* @return string big-endian signed representation
|
||||
*/
|
||||
static public function btwoc($str)
|
||||
{
|
||||
if (ord($str[0]) > 127) {
|
||||
return "\0" . $str;
|
||||
}
|
||||
return $str;
|
||||
}
|
||||
}
|
15
app/libs/openid/helpers/OpenIdErrorMessages.php
Normal file
15
app/libs/openid/helpers/OpenIdErrorMessages.php
Normal file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/17/13
|
||||
* Time: 4:39 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\helpers;
|
||||
|
||||
|
||||
class OpenIdErrorMessages {
|
||||
const RealmNotAllowedByUserMessage = "Realm %s is not authorized by user";
|
||||
}
|
39
app/libs/openid/helpers/OpenIdSignatureBuilder.php
Normal file
39
app/libs/openid/helpers/OpenIdSignatureBuilder.php
Normal file
@ -0,0 +1,39 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/17/13
|
||||
* Time: 5:26 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\helpers;
|
||||
use openid\responses\contexts\ResponseContext;
|
||||
use openid\responses\OpenIdPositiveAssertionResponse;
|
||||
|
||||
class OpenIdSignatureBuilder {
|
||||
|
||||
public static function build(ResponseContext $context,$macAlg,$secret,OpenIdPositiveAssertionResponse &$response){
|
||||
//do signing ...
|
||||
$signed = '';
|
||||
$data = '';
|
||||
$params = $context->getSignParams();
|
||||
|
||||
foreach($params as $key => $val){
|
||||
if (strpos($key, 'openid.') === 0) {
|
||||
$key = substr($key, strlen('openid.'));
|
||||
if (!empty($signed)) {
|
||||
$signed .= ',';
|
||||
}
|
||||
$signed .= $key;
|
||||
$data .= $key . ':' . $val . "\n";
|
||||
}
|
||||
}
|
||||
$signed .= ',signed';
|
||||
$data .= 'signed:' . $signed . "\n";
|
||||
$sig = base64_encode(OpenIdCryptoHelper::computeHMAC($macAlg, $data, $secret));
|
||||
|
||||
$response->setSigned($signed);
|
||||
$response->setSig($sig);
|
||||
}
|
||||
}
|
214
app/libs/openid/helpers/OpenIdUriHelper.php
Normal file
214
app/libs/openid/helpers/OpenIdUriHelper.php
Normal file
@ -0,0 +1,214 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/17/13
|
||||
* Time: 4:10 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\helpers;
|
||||
|
||||
|
||||
class OpenIdUriHelper {
|
||||
|
||||
/**
|
||||
* Returns an absolute URL for the given one
|
||||
*
|
||||
* @param string $url absilute or relative URL
|
||||
* @return string
|
||||
*/
|
||||
static public function absoluteUrl($url)
|
||||
{
|
||||
if (empty($url)) {
|
||||
return Zend_OpenId::selfUrl();
|
||||
} else if (!preg_match('|^([^:]+)://|', $url)) {
|
||||
if (preg_match('|^([^:]+)://([^:@]*(?:[:][^@]*)?@)?([^/:@?#]*)(?:[:]([^/?#]*))?(/[^?]*)?((?:[?](?:[^#]*))?(?:#.*)?)$|', Zend_OpenId::selfUrl(), $reg)) {
|
||||
$scheme = $reg[1];
|
||||
$auth = $reg[2];
|
||||
$host = $reg[3];
|
||||
$port = $reg[4];
|
||||
$path = $reg[5];
|
||||
$query = $reg[6];
|
||||
if ($url[0] == '/') {
|
||||
return $scheme
|
||||
. '://'
|
||||
. $auth
|
||||
. $host
|
||||
. (empty($port) ? '' : (':' . $port))
|
||||
. $url;
|
||||
} else {
|
||||
$dir = dirname($path);
|
||||
return $scheme
|
||||
. '://'
|
||||
. $auth
|
||||
. $host
|
||||
. (empty($port) ? '' : (':' . $port))
|
||||
. (strlen($dir) > 1 ? $dir : '')
|
||||
. '/'
|
||||
. $url;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $url;
|
||||
}
|
||||
|
||||
/**
|
||||
* Normalizes URL according to RFC 3986 to use it in comparison operations.
|
||||
* The function gets URL argument by reference and modifies it.
|
||||
* It returns true on success and false of failure.
|
||||
*
|
||||
* @param string &$id url to be normalized
|
||||
* @return bool
|
||||
*/
|
||||
static public function normalizeUrl(&$id)
|
||||
{
|
||||
// RFC 3986, 6.2.2. Syntax-Based Normalization
|
||||
|
||||
// RFC 3986, 6.2.2.2 Percent-Encoding Normalization
|
||||
$i = 0;
|
||||
$n = strlen($id);
|
||||
$res = '';
|
||||
while ($i < $n) {
|
||||
if ($id[$i] == '%') {
|
||||
if ($i + 2 >= $n) {
|
||||
return false;
|
||||
}
|
||||
++$i;
|
||||
if ($id[$i] >= '0' && $id[$i] <= '9') {
|
||||
$c = ord($id[$i]) - ord('0');
|
||||
} else if ($id[$i] >= 'A' && $id[$i] <= 'F') {
|
||||
$c = ord($id[$i]) - ord('A') + 10;
|
||||
} else if ($id[$i] >= 'a' && $id[$i] <= 'f') {
|
||||
$c = ord($id[$i]) - ord('a') + 10;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
++$i;
|
||||
if ($id[$i] >= '0' && $id[$i] <= '9') {
|
||||
$c = ($c << 4) | (ord($id[$i]) - ord('0'));
|
||||
} else if ($id[$i] >= 'A' && $id[$i] <= 'F') {
|
||||
$c = ($c << 4) | (ord($id[$i]) - ord('A') + 10);
|
||||
} else if ($id[$i] >= 'a' && $id[$i] <= 'f') {
|
||||
$c = ($c << 4) | (ord($id[$i]) - ord('a') + 10);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
++$i;
|
||||
$ch = chr($c);
|
||||
if (($ch >= 'A' && $ch <= 'Z') ||
|
||||
($ch >= 'a' && $ch <= 'z') ||
|
||||
$ch == '-' ||
|
||||
$ch == '.' ||
|
||||
$ch == '_' ||
|
||||
$ch == '~') {
|
||||
$res .= $ch;
|
||||
} else {
|
||||
$res .= '%';
|
||||
if (($c >> 4) < 10) {
|
||||
$res .= chr(($c >> 4) + ord('0'));
|
||||
} else {
|
||||
$res .= chr(($c >> 4) - 10 + ord('A'));
|
||||
}
|
||||
$c = $c & 0xf;
|
||||
if ($c < 10) {
|
||||
$res .= chr($c + ord('0'));
|
||||
} else {
|
||||
$res .= chr($c - 10 + ord('A'));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$res .= $id[$i++];
|
||||
}
|
||||
}
|
||||
|
||||
if (!preg_match('|^([^:]+)://([^:@]*(?:[:][^@]*)?@)?([^/:@?#]*)(?:[:]([^/?#]*))?(/[^?#]*)?((?:[?](?:[^#]*))?)((?:#.*)?)$|', $res, $reg)) {
|
||||
return false;
|
||||
}
|
||||
$scheme = $reg[1];
|
||||
$auth = $reg[2];
|
||||
$host = $reg[3];
|
||||
$port = $reg[4];
|
||||
$path = $reg[5];
|
||||
$query = $reg[6];
|
||||
$fragment = $reg[7]; /* strip it */ /* ZF-4358 Fragment retained under OpenID 2.0 */
|
||||
|
||||
if (empty($scheme) || empty($host)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// RFC 3986, 6.2.2.1. Case Normalization
|
||||
$scheme = strtolower($scheme);
|
||||
$host = strtolower($host);
|
||||
|
||||
// RFC 3986, 6.2.2.3. Path Segment Normalization
|
||||
if (!empty($path)) {
|
||||
$i = 0;
|
||||
$n = strlen($path);
|
||||
$res = "";
|
||||
while ($i < $n) {
|
||||
if ($path[$i] == '/') {
|
||||
++$i;
|
||||
while ($i < $n && $path[$i] == '/') {
|
||||
++$i;
|
||||
}
|
||||
if ($i < $n && $path[$i] == '.') {
|
||||
++$i;
|
||||
if ($i < $n && $path[$i] == '.') {
|
||||
++$i;
|
||||
if ($i == $n || $path[$i] == '/') {
|
||||
if (($pos = strrpos($res, '/')) !== false) {
|
||||
$res = substr($res, 0, $pos);
|
||||
}
|
||||
} else {
|
||||
$res .= '/..';
|
||||
}
|
||||
} else if ($i != $n && $path[$i] != '/') {
|
||||
$res .= '/.';
|
||||
}
|
||||
} else {
|
||||
$res .= '/';
|
||||
}
|
||||
} else {
|
||||
$res .= $path[$i++];
|
||||
}
|
||||
}
|
||||
$path = $res;
|
||||
}
|
||||
|
||||
// RFC 3986,6.2.3. Scheme-Based Normalization
|
||||
if ($scheme == 'http') {
|
||||
if ($port == 80) {
|
||||
$port = '';
|
||||
}
|
||||
} else if ($scheme == 'https') {
|
||||
if ($port == 443) {
|
||||
$port = '';
|
||||
}
|
||||
}
|
||||
if (empty($path)) {
|
||||
$path = '/';
|
||||
}
|
||||
|
||||
$id = $scheme
|
||||
. '://'
|
||||
. $auth
|
||||
. $host
|
||||
. (empty($port) ? '' : (':' . $port))
|
||||
. $path
|
||||
. $query
|
||||
. $fragment;
|
||||
return true;
|
||||
}
|
||||
|
||||
static public function checkRealmWildcard($root,$realm){
|
||||
$n = strpos($realm, '://*.');
|
||||
if ($n != false) {
|
||||
$regex = '/^'. preg_quote(substr($realm, 0, $n+3), '/'). '[A-Za-z1-9_\.]+?'. preg_quote(substr($realm, $n+4), '/'). '/';
|
||||
if (preg_match($regex, $root)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
35
app/libs/openid/model/IAssociation.php
Normal file
35
app/libs/openid/model/IAssociation.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/17/13
|
||||
* Time: 10:41 AM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\model;
|
||||
|
||||
|
||||
interface IAssociation {
|
||||
|
||||
const TypePrivate = "Private";
|
||||
const TypeSession = "Session";
|
||||
|
||||
public function getMacFunction();
|
||||
public function setMacFunction($mac_function);
|
||||
|
||||
public function getSecret();
|
||||
public function setSecret($secret);
|
||||
|
||||
public function getLifetime();
|
||||
public function setLifetime($lifetime);
|
||||
|
||||
public function getIssued();
|
||||
public function setIssued($issued);
|
||||
|
||||
public function getType();
|
||||
public function setType($type);
|
||||
|
||||
public function IsExpired();
|
||||
|
||||
}
|
26
app/libs/openid/model/IOpenIdUser.php
Normal file
26
app/libs/openid/model/IOpenIdUser.php
Normal file
@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/17/13
|
||||
* Time: 3:55 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\model;
|
||||
|
||||
|
||||
interface IOpenIdUser {
|
||||
|
||||
public function getIdentifier();
|
||||
public function getEmail();
|
||||
public function getFirstName();
|
||||
public function getLastName();
|
||||
public function getFullName();
|
||||
public function getNickName();
|
||||
public function getGender();
|
||||
public function getCountry();
|
||||
public function getLanguage();
|
||||
public function getTimeZone();
|
||||
public function getDateOfBirth();
|
||||
}
|
25
app/libs/openid/model/ITrustedSite.php
Normal file
25
app/libs/openid/model/ITrustedSite.php
Normal file
@ -0,0 +1,25 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/17/13
|
||||
* Time: 3:58 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\model;
|
||||
|
||||
|
||||
interface ITrustedSite {
|
||||
|
||||
public function setRealm($realm);
|
||||
public function getRealm();
|
||||
|
||||
public function setData($data);
|
||||
public function getData();
|
||||
|
||||
public function getUser();
|
||||
|
||||
public function getAuthorizationPolicy();
|
||||
public function setAuthorizationPolicy($policy);
|
||||
}
|
@ -12,7 +12,7 @@ namespace openid\repositories;
|
||||
|
||||
interface IServerExtensionsRepository {
|
||||
/**
|
||||
* @return all active server extensions
|
||||
* @return array of IOpenIdExtension
|
||||
*/
|
||||
public function GetAllExtensions();
|
||||
public function getAllActiveExtensions();
|
||||
}
|
@ -8,44 +8,53 @@
|
||||
*/
|
||||
|
||||
namespace openid\requests;
|
||||
|
||||
use openid\requests\OpenIdRequest;
|
||||
use openid\OpenIdMessage;
|
||||
use openid\OpenIdProtocol;
|
||||
use openid\helpers\OpenIdUriHelper;
|
||||
|
||||
class OpenIdAuthenticationRequest extends OpenIdRequest{
|
||||
const IdentifierSelectType = "http://specs.openid.net/auth/2.0/identifier_select";
|
||||
const ImmediateMode = "checkid_immediate";
|
||||
const SetupMode = "checkid_setup";
|
||||
|
||||
const ClaimedIdType = "openid_claimed_id";
|
||||
const IdentityType = "openid_identity";
|
||||
const AssocHandleType = "openid_assoc_handle";
|
||||
const ReturnToType = "openid_return_to";
|
||||
const RealmType = "openid_realm";
|
||||
|
||||
public static function IsOpenIdAuthenticationRequest(OpenIdMessage $message){
|
||||
$mode = $message->getMode();
|
||||
if($mode==self::ImmediateMode || $mode==self::SetupMode) return true;
|
||||
if($mode==OpenIdProtocol::ImmediateMode || $mode==OpenIdProtocol::SetupMode) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
public function getClaimedId(){
|
||||
return isset($this->message[self::ClaimedIdType])?$this->message[self::ClaimedIdType]:null;
|
||||
return isset($this->message[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_ClaimedId,"_")])?$this->message[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_ClaimedId,"_")]:null;
|
||||
}
|
||||
|
||||
public function getIdentity(){
|
||||
return isset($this->message[self::IdentityType])?$this->message[self::IdentityType]:null;
|
||||
return isset($this->message[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Identity,"_")])?$this->message[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Identity,"_")]:null;
|
||||
}
|
||||
|
||||
public function getAssocHandle(){
|
||||
return isset($this->message[self::AssocHandleType])?$this->message[self::AssocHandleType]:null;
|
||||
return isset($this->message[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_AssocHandle,"_")])?$this->message[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_AssocHandle,"_")]:null;
|
||||
}
|
||||
|
||||
public function getReturnTo(){
|
||||
return isset($this->message[self::ReturnToType])?$this->message[self::ReturnToType]:null;
|
||||
return isset($this->message[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_ReturnTo,"_")])?$this->message[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_ReturnTo,"_")]:null;
|
||||
}
|
||||
|
||||
public function getRealm(){
|
||||
return isset($this->message[self::RealmType])?$this->message[self::RealmType]:null;
|
||||
return isset($this->message[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Realm,"_")])?$this->message[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Realm,"_")]:null;
|
||||
}
|
||||
|
||||
|
||||
public function getTrustedRoot() {
|
||||
if (isset($this[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Realm,"_")])) {
|
||||
$root = $this[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Realm,"_")];
|
||||
} else if (isset($this[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_ReturnTo,"_")])) {
|
||||
$root = $this[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_ReturnTo,"_")];
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
if (OpenIdUriHelper::normalizeUrl($root) && !empty($root)) {
|
||||
return $root;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public function IsValid(){
|
||||
@ -55,9 +64,9 @@ class OpenIdAuthenticationRequest extends OpenIdRequest{
|
||||
$mode = $this->getMode();
|
||||
//todo: validate url(format-regex) - white list /black list?
|
||||
return !empty($return_to)
|
||||
&& !empty($claimed_id) && $claimed_id==self::IdentifierSelectType
|
||||
&& !empty($identity) && $identity==self::IdentifierSelectType
|
||||
&& !empty($mode) && ($mode == self::ImmediateMode || $mode == self::SetupMode);
|
||||
&& !empty($claimed_id) && $claimed_id == OpenIdProtocol::IdentifierSelectType
|
||||
&& !empty($identity) && $identity == OpenIdProtocol::IdentifierSelectType
|
||||
&& !empty($mode) && ($mode == OpenIdProtocol::ImmediateMode || $mode == OpenIdProtocol::SetupMode);
|
||||
}
|
||||
|
||||
}
|
30
app/libs/openid/requests/contexts/PartialView.php
Normal file
30
app/libs/openid/requests/contexts/PartialView.php
Normal file
@ -0,0 +1,30 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/16/13
|
||||
* Time: 2:33 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\requests\contexts;
|
||||
use \string;
|
||||
|
||||
class PartialView {
|
||||
|
||||
private $name;
|
||||
private $data;
|
||||
|
||||
public function __construct($name,array $data = null){
|
||||
$this->name = $name;
|
||||
$this->data = $data;
|
||||
}
|
||||
|
||||
public function getData(){
|
||||
return $this->data;
|
||||
}
|
||||
|
||||
public function getName(){
|
||||
return $this->name;
|
||||
}
|
||||
}
|
48
app/libs/openid/requests/contexts/RequestContext.php
Normal file
48
app/libs/openid/requests/contexts/RequestContext.php
Normal file
@ -0,0 +1,48 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/16/13
|
||||
* Time: 2:31 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\requests\contexts;
|
||||
|
||||
|
||||
class RequestContext
|
||||
{
|
||||
|
||||
private $partial_views;
|
||||
const StageNull = -1;
|
||||
const StageLogin = 0;
|
||||
const StageConsent = 1;
|
||||
|
||||
private $stage;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->partial_views = array();
|
||||
$this->stage = self::StageNull;
|
||||
}
|
||||
|
||||
public function addPartialView(PartialView $partial_view)
|
||||
{
|
||||
$this->partial_views[$partial_view->getName()] = $partial_view;
|
||||
}
|
||||
|
||||
public function getPartials()
|
||||
{
|
||||
return $this->partial_views;
|
||||
}
|
||||
|
||||
public function setStage($stage)
|
||||
{
|
||||
$this->stage = $stage;
|
||||
}
|
||||
|
||||
public function getStage()
|
||||
{
|
||||
return $this->stage;
|
||||
}
|
||||
}
|
@ -9,7 +9,7 @@
|
||||
|
||||
namespace openid\responses;
|
||||
use openid\responses\OpenIdDirectResponse;
|
||||
|
||||
use openid\OpenIdProtocol;
|
||||
/**
|
||||
* Class OpenIdDirectGenericErrorResponse
|
||||
* implements 5.1.2.2. Error Responses
|
||||
@ -27,11 +27,11 @@ class OpenIdDirectGenericErrorResponse extends OpenIdDirectResponse {
|
||||
public function __construct($error, $contact=null, $reference=null){
|
||||
parent::__construct();
|
||||
$this->setHttpCode(self::HttpErrorResponse);
|
||||
$this["error"] = $error;
|
||||
$this[OpenIdProtocol::OpenIDProtocol_Error] = $error;
|
||||
//opt values
|
||||
if(!is_null($contact))
|
||||
$this["contact"] = $contact;
|
||||
$this[OpenIdProtocol::OpenIDProtocol_Contact] = $contact;
|
||||
if(!is_null($reference))
|
||||
$this["reference"] = $reference;
|
||||
$this[OpenIdProtocol::OpenIDProtocol_Reference] = $reference;
|
||||
}
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/17/13
|
||||
* Time: 3:16 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\responses;
|
||||
|
||||
|
||||
use openid\OpenIdProtocol;
|
||||
|
||||
class OpenIdImmediateNegativeAssertion extends OpenIdIndirectResponse{
|
||||
|
||||
public function __construct(){
|
||||
parent::__construct();
|
||||
$this->setMode(OpenIdProtocol::SetupNeededMode);
|
||||
}
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/17/13
|
||||
* Time: 4:32 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\responses;
|
||||
|
||||
|
||||
use openid\OpenIdProtocol;
|
||||
|
||||
class OpenIdIndirectGenericErrorResponse extends OpenIdIndirectResponse {
|
||||
|
||||
public function __construct($error,$contact,$reference){
|
||||
parent::__construct();
|
||||
$this->setHttpCode(self::HttpErrorResponse);
|
||||
$this[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Error)] = $error;
|
||||
//opt values
|
||||
if(!is_null($contact))
|
||||
$this[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Contact)] = $contact;
|
||||
if(!is_null($reference))
|
||||
$this[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Reference)] = $reference;
|
||||
}
|
||||
|
||||
}
|
@ -8,9 +8,10 @@
|
||||
*/
|
||||
|
||||
namespace openid\responses;
|
||||
use openid\OpenIdProtocol;
|
||||
use openid\responses\OpenIdResponse;
|
||||
|
||||
class OpenIdIndirectResponse extends OpenIdResponse{
|
||||
class OpenIdIndirectResponse extends OpenIdResponse {
|
||||
|
||||
const IndirectResponseContentType ="application/x-www-form-urlencoded";
|
||||
|
||||
@ -23,7 +24,7 @@ class OpenIdIndirectResponse extends OpenIdResponse{
|
||||
* response. Future versions of the specification may define different values in order
|
||||
* to allow message recipients to properly interpret the request.
|
||||
*/
|
||||
$this["openid.ns"] = self::OpenId2ResponseType;
|
||||
$this[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_NS)] = OpenIdProtocol::OpenID2MessageType;
|
||||
}
|
||||
|
||||
|
||||
@ -48,4 +49,12 @@ class OpenIdIndirectResponse extends OpenIdResponse{
|
||||
{
|
||||
return "indirect";
|
||||
}
|
||||
|
||||
public function setReturnTo($return_to){
|
||||
$this[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_ReturnTo)] = $return_to;
|
||||
}
|
||||
|
||||
public function getReturnTo(){
|
||||
return $this[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_ReturnTo)];
|
||||
}
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/17/13
|
||||
* Time: 3:16 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\responses;
|
||||
|
||||
use openid\OpenIdProtocol;
|
||||
|
||||
class OpenIdNonImmediateNegativeAssertion extends OpenIdIndirectResponse {
|
||||
|
||||
public function __construct(){
|
||||
$this->setMode(OpenIdProtocol::CancelMode);
|
||||
}
|
||||
}
|
@ -0,0 +1,45 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/17/13
|
||||
* Time: 3:15 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\responses;
|
||||
|
||||
|
||||
use openid\OpenIdProtocol;
|
||||
|
||||
class OpenIdPositiveAssertionResponse extends OpenIdIndirectResponse {
|
||||
|
||||
public function __construct($op_endpoint,$claimed_id,$identity,$return_to){
|
||||
$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();
|
||||
}
|
||||
|
||||
public function setAssocHandle($assoc_handle){
|
||||
$this[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_AssocHandle)] = $assoc_handle;
|
||||
}
|
||||
|
||||
public function setSigned($signed){
|
||||
$this[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Signed)] = $signed;
|
||||
}
|
||||
|
||||
public function setSig($sig){
|
||||
$this[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_Sig)] = $sig;
|
||||
}
|
||||
|
||||
public function setInvalidateHandle($invalidate_handle){
|
||||
$this[OpenIdProtocol::param(OpenIdProtocol::OpenIDProtocol_InvalidateHandle)] = $invalidate_handle;
|
||||
}
|
||||
|
||||
private function generateNonce(){
|
||||
return gmdate('Y-m-d\TH:i:s\Z') . uniqid();
|
||||
}
|
||||
}
|
@ -14,7 +14,7 @@ abstract class OpenIdResponse extends OpenIdMessage {
|
||||
|
||||
const HttpOkResponse = 200;
|
||||
const HttpErrorResponse = 400;
|
||||
const OpenId2ResponseType = "http://specs.openid.net/auth/2.0";
|
||||
|
||||
|
||||
protected $http_code;
|
||||
protected $content_type;
|
||||
@ -39,4 +39,9 @@ abstract class OpenIdResponse extends OpenIdMessage {
|
||||
}
|
||||
|
||||
abstract public function getType();
|
||||
|
||||
public function addParam($name,$value){
|
||||
//todo: validate if $name is a valid openid 2.0 param name?
|
||||
$this[$name] = $value;
|
||||
}
|
||||
}
|
33
app/libs/openid/responses/contexts/ResponseContext.php
Normal file
33
app/libs/openid/responses/contexts/ResponseContext.php
Normal file
@ -0,0 +1,33 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/16/13
|
||||
* Time: 2:38 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\responses\contexts;
|
||||
|
||||
|
||||
class ResponseContext
|
||||
{
|
||||
|
||||
private $sign_params;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->sign_params = array();
|
||||
}
|
||||
|
||||
public function addSignParam(string $param)
|
||||
{
|
||||
array_push($this->sign_params, $param);
|
||||
}
|
||||
|
||||
public function getSignParams()
|
||||
{
|
||||
ksort($this->sign_params);
|
||||
return $this->sign_params;
|
||||
}
|
||||
}
|
31
app/libs/openid/services/IAssociationService.php
Normal file
31
app/libs/openid/services/IAssociationService.php
Normal file
@ -0,0 +1,31 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/17/13
|
||||
* Time: 10:39 AM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\services;
|
||||
use openid\model\IAssociation;
|
||||
|
||||
interface IAssociationService {
|
||||
/**
|
||||
* @param $handle
|
||||
* @return IAssociation
|
||||
*/
|
||||
public function getAssociation($handle);
|
||||
|
||||
/**
|
||||
* @param IAssociation $association
|
||||
* @return bool
|
||||
*/
|
||||
public function addAssociation($handle,$secret,$type,$lifetime,$issued);
|
||||
|
||||
/**
|
||||
* @param $handle
|
||||
* @return bool
|
||||
*/
|
||||
public function deleteAssociation($handle);
|
||||
}
|
@ -8,16 +8,16 @@
|
||||
*/
|
||||
|
||||
namespace openid\services;
|
||||
|
||||
use openid\model\IOpenIdUser;
|
||||
|
||||
interface IAuthService {
|
||||
/**
|
||||
* @return mixed
|
||||
* @return bool
|
||||
*/
|
||||
public function isUserLogged();
|
||||
|
||||
/**
|
||||
* @return mixed
|
||||
* @return IOpenIdUser
|
||||
*/
|
||||
public function getCurrentUser();
|
||||
|
||||
@ -28,10 +28,15 @@ interface IAuthService {
|
||||
*/
|
||||
public function Login($username,$password);
|
||||
|
||||
const AuthorizationResponse_None = "None";
|
||||
const AuthorizationResponse_AllowOnce = "AllowOnce";
|
||||
const AuthorizationResponse_AllowForever = "AllowForever";
|
||||
const AuthorizationResponse_DenyForever = "DenyForever";
|
||||
const AuthorizationResponse_DenyOnce = "DenyOnce";
|
||||
/**
|
||||
* @return mixed
|
||||
* @return AuthorizationResponse_*
|
||||
*/
|
||||
public function isUserAuthorized();
|
||||
public function getUserAuthorizationResponse();
|
||||
|
||||
public function logout();
|
||||
}
|
15
app/libs/openid/services/IServerConfigurationService.php
Normal file
15
app/libs/openid/services/IServerConfigurationService.php
Normal file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/17/13
|
||||
* Time: 5:16 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\services;
|
||||
|
||||
|
||||
interface IServerConfigurationService {
|
||||
public function getOPEndpointURL();
|
||||
}
|
15
app/libs/openid/services/IServerExtensionsService.php
Normal file
15
app/libs/openid/services/IServerExtensionsService.php
Normal file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/16/13
|
||||
* Time: 3:45 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\services;
|
||||
|
||||
|
||||
interface IServerExtensionsService {
|
||||
public function getAllActiveExtensions();
|
||||
}
|
23
app/libs/openid/services/ITrustedSitesService.php
Normal file
23
app/libs/openid/services/ITrustedSitesService.php
Normal file
@ -0,0 +1,23 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/17/13
|
||||
* Time: 3:54 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace openid\services;
|
||||
use openid\model\IOpenIdUser;
|
||||
use openid\model\ITrustedSite;
|
||||
|
||||
interface ITrustedSitesService {
|
||||
public function addTrustedSite(IOpenIdUser $user,$realm,$policy,$data=array());
|
||||
public function delTrustedSite($realm);
|
||||
/**
|
||||
* @param IOpenIdUser $user
|
||||
* @param $return_to
|
||||
* @return ITrustedSite
|
||||
*/
|
||||
public function getTrustedSite(IOpenIdUser $user,$return_to);
|
||||
}
|
@ -9,8 +9,6 @@
|
||||
|
||||
namespace openid\strategies;
|
||||
|
||||
use openid\responses\OpenIdResponse;
|
||||
|
||||
interface IOpenIdResponseStrategy {
|
||||
public function handle(OpenIdResponse $response);
|
||||
public function handle($response);
|
||||
}
|
67
app/models/OpenIdAssociation.php
Normal file
67
app/models/OpenIdAssociation.php
Normal file
@ -0,0 +1,67 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/17/13
|
||||
* Time: 6:08 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
use openid\model\IAssociation;
|
||||
|
||||
class OpenIdAssociation extends Eloquent implements IAssociation{
|
||||
|
||||
public function getMacFunction()
|
||||
{
|
||||
// TODO: Implement getMacFunction() method.
|
||||
}
|
||||
|
||||
public function setMacFunction($mac_function)
|
||||
{
|
||||
// TODO: Implement setMacFunction() method.
|
||||
}
|
||||
|
||||
public function getSecret()
|
||||
{
|
||||
// TODO: Implement getSecret() method.
|
||||
}
|
||||
|
||||
public function setSecret($secret)
|
||||
{
|
||||
// TODO: Implement setSecret() method.
|
||||
}
|
||||
|
||||
public function getLifetime()
|
||||
{
|
||||
// TODO: Implement getLifetime() method.
|
||||
}
|
||||
|
||||
public function setLifetime($lifetime)
|
||||
{
|
||||
// TODO: Implement setLifetime() method.
|
||||
}
|
||||
|
||||
public function getIssued()
|
||||
{
|
||||
// TODO: Implement getIssued() method.
|
||||
}
|
||||
|
||||
public function setIssued($issued)
|
||||
{
|
||||
// TODO: Implement setIssued() method.
|
||||
}
|
||||
|
||||
public function getType()
|
||||
{
|
||||
// TODO: Implement getType() method.
|
||||
}
|
||||
|
||||
public function setType($type)
|
||||
{
|
||||
// TODO: Implement setType() method.
|
||||
}
|
||||
|
||||
public function IsExpired()
|
||||
{
|
||||
// TODO: Implement IsExpired() method.
|
||||
}
|
||||
}
|
47
app/models/OpenIdTrustedSite.php
Normal file
47
app/models/OpenIdTrustedSite.php
Normal file
@ -0,0 +1,47 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/17/13
|
||||
* Time: 6:11 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
use openid\model\ITrustedSite;
|
||||
|
||||
class OpenIdTrustedSite extends Eloquent implements ITrustedSite{
|
||||
|
||||
public function setRealm($realm)
|
||||
{
|
||||
// TODO: Implement setRealm() method.
|
||||
}
|
||||
|
||||
public function getRealm()
|
||||
{
|
||||
// TODO: Implement getRealm() method.
|
||||
}
|
||||
|
||||
public function setData($data)
|
||||
{
|
||||
// TODO: Implement setData() method.
|
||||
}
|
||||
|
||||
public function getData()
|
||||
{
|
||||
// TODO: Implement getData() method.
|
||||
}
|
||||
|
||||
public function getUser()
|
||||
{
|
||||
// TODO: Implement getUser() method.
|
||||
}
|
||||
|
||||
public function getAuthorizationPolicy()
|
||||
{
|
||||
// TODO: Implement getAuthorizationPolicy() method.
|
||||
}
|
||||
|
||||
public function setAuthorizationPolicy($policy)
|
||||
{
|
||||
// TODO: Implement setAuthorizationPolicy() method.
|
||||
}
|
||||
}
|
@ -1,52 +0,0 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Auth\UserInterface;
|
||||
use Illuminate\Auth\Reminders\RemindableInterface;
|
||||
|
||||
class User extends Eloquent implements UserInterface, RemindableInterface {
|
||||
|
||||
/**
|
||||
* The database table used by the model.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $table = 'users';
|
||||
|
||||
/**
|
||||
* The attributes excluded from the model's JSON form.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $hidden = array('password');
|
||||
|
||||
/**
|
||||
* Get the unique identifier for the user.
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function getAuthIdentifier()
|
||||
{
|
||||
return $this->getKey();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the password for the user.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getAuthPassword()
|
||||
{
|
||||
return $this->password;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the e-mail address where password reminders are sent.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getReminderEmail()
|
||||
{
|
||||
return $this->email;
|
||||
}
|
||||
|
||||
}
|
@ -17,7 +17,7 @@ class ServerExtensionsRepositoryEloquent implements IServerExtensionsRepository
|
||||
/**
|
||||
* @return all active server extensions
|
||||
*/
|
||||
public function GetAllExtensions()
|
||||
public function getAllActiveExtensions()
|
||||
{
|
||||
$extensions = array();
|
||||
|
||||
|
@ -12,15 +12,17 @@ namespace services;
|
||||
use openid\handlers\IOpenIdAuthenticationStrategy;
|
||||
use openid\requests\OpenIdAuthenticationRequest;
|
||||
use \Redirect;
|
||||
use openid\requests\contexts\RequestContext;
|
||||
|
||||
class AuthenticationStrategy implements IOpenIdAuthenticationStrategy{
|
||||
|
||||
public function doLogin(OpenIdAuthenticationRequest $request)
|
||||
public function doLogin(OpenIdAuthenticationRequest $request,RequestContext $context)
|
||||
{
|
||||
return Redirect::action('UserController@getLogin');
|
||||
return Redirect::action('UserController@getLogin')->with('context', $context);
|
||||
}
|
||||
|
||||
public function doConsent(OpenIdAuthenticationRequest $request)
|
||||
public function doConsent(OpenIdAuthenticationRequest $request,RequestContext $context)
|
||||
{
|
||||
return Redirect::action('UserController@getConsent');
|
||||
return Redirect::action('UserController@getConsent')->with('context', $context);;
|
||||
}
|
||||
}
|
20
app/services/ServerExtensionsService.php
Normal file
20
app/services/ServerExtensionsService.php
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/16/13
|
||||
* Time: 3:47 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
|
||||
namespace services;
|
||||
|
||||
use openid\services\IServerExtensionsService;
|
||||
|
||||
class ServerExtensionsService implements IServerExtensionsService{
|
||||
|
||||
public function getAllActiveExtensions()
|
||||
{
|
||||
return array();
|
||||
}
|
||||
}
|
@ -16,5 +16,7 @@ class ServicesProvider extends ServiceProvider {
|
||||
{
|
||||
$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
app/strategies/OpenIdDirectResponseStrategy.php
Normal file
22
app/strategies/OpenIdDirectResponseStrategy.php
Normal file
@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/16/13
|
||||
* Time: 4:36 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
namespace strategies;
|
||||
use openid\responses\OpenIdResponse;
|
||||
use openid\strategies\IOpenIdResponseStrategy;
|
||||
use \Response;
|
||||
|
||||
class OpenIdDirectResponseStrategy implements IOpenIdResponseStrategy {
|
||||
|
||||
public function handle($response)
|
||||
{
|
||||
$response = Response::make($response->getContent(), $response->getHttpCode());
|
||||
$response->header('Content-Type', $response->getContentType());
|
||||
return $response;
|
||||
}
|
||||
}
|
22
app/strategies/OpenIdIndirectResponseStrategy.php
Normal file
22
app/strategies/OpenIdIndirectResponseStrategy.php
Normal file
@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/16/13
|
||||
* Time: 4:36 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
namespace strategies;
|
||||
use openid\strategies\IOpenIdResponseStrategy;
|
||||
use \Response;
|
||||
|
||||
class OpenIdIndirectResponseStrategy implements IOpenIdResponseStrategy {
|
||||
|
||||
public function handle($response)
|
||||
{
|
||||
$query_string = $response->getContent();
|
||||
$return_to = $response->getReturnTo();
|
||||
$return_to = (strpos($return_to,"?")===false)?$return_to."?".$query_string:$return_to."&".$query_string;
|
||||
return Redirect::to($return_to);
|
||||
}
|
||||
}
|
19
app/strategies/OpenIdResponseStrategyProvider.php
Normal file
19
app/strategies/OpenIdResponseStrategyProvider.php
Normal file
@ -0,0 +1,19 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by JetBrains PhpStorm.
|
||||
* User: smarcet
|
||||
* Date: 10/16/13
|
||||
* Time: 4:38 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
namespace strategies;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
|
||||
class OpenIdResponseStrategyProvider extends ServiceProvider {
|
||||
|
||||
public function register()
|
||||
{
|
||||
$this->app->singleton('OpenIdDirectResponseStrategy','strategies\\OpenIdDirectResponseStrategy');
|
||||
$this->app->singleton('OpenIdIndirectResponseStrategy','strategies\\OpenIdIndirectResponseStrategy');
|
||||
}
|
||||
}
|
0
app/views/extensions/ax.blade.php
Normal file
0
app/views/extensions/ax.blade.php
Normal file
0
app/views/extensions/oauth.blade.php
Normal file
0
app/views/extensions/oauth.blade.php
Normal file
4
app/views/extensions/pape.blade.php
Normal file
4
app/views/extensions/pape.blade.php
Normal file
@ -0,0 +1,4 @@
|
||||
<p>PAPE</p>
|
||||
@foreach ($links as $link)
|
||||
<a href="#">{{$link}}</a>
|
||||
@endforeach
|
0
app/views/extensions/sreg.blade.php
Normal file
0
app/views/extensions/sreg.blade.php
Normal file
@ -26,5 +26,9 @@
|
||||
<div id="flash_notice">{{ Session::get('flash_notice') }}</div>
|
||||
@endif
|
||||
{{ Form::close() }}
|
||||
@foreach ($views as $view)
|
||||
{{ $view}}
|
||||
@endforeach
|
||||
|
||||
</div>
|
||||
@stop
|
@ -19,7 +19,8 @@
|
||||
"app/libs",
|
||||
"app/repositories",
|
||||
"app/tests/mocks",
|
||||
"app/services"
|
||||
"app/services",
|
||||
"app/strategies"
|
||||
]
|
||||
},
|
||||
"scripts": {
|
||||
|
Loading…
Reference in New Issue
Block a user