Skip to content

Commit 7c82a1d

Browse files
committed
OIDC migration
* moved from OPENID 2.0 to OIDC * removed all user management references from site ** Registration ** Password recovery ** email verification
1 parent a3027f9 commit 7c82a1d

File tree

71 files changed

+719
-2171
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+719
-2171
lines changed

README.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,3 +65,27 @@ CloudAssets:
6565
AuthURL: keystone base url
6666
LocalCopy: false
6767
````
68+
69+
## OIDC
70+
71+
settings for oidc configuration on _ss_environment.php file
72+
73+
````PHP
74+
// OIDC
75+
define('OIDC_CLIENT', '');
76+
77+
define('OIDC_CLIENT_SECRET', '');
78+
79+
80+
//set true on production mode, otherwise false
81+
define('OIDC_VERIFY_HOST',false);
82+
````
83+
84+
on idp under allowed URIs you need to register following one
85+
86+
* https://hostname/openstackidauthenticator
87+
88+
under security settings you need to set Id Token Signed Response Algorithm
89+
90+
91+

composer.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@
3737
{
3838
"type": "vcs",
3939
"url": "https://github.com/OpenStackweb/silverstripe-framework"
40+
},
41+
{
42+
"type": "vcs",
43+
"url": "https://github.com/OpenStackweb/OpenID-Connect-PHP"
4044
}
4145
],
4246
"require": {
@@ -85,7 +89,8 @@
8589
"smarcet/caldavclient": "1.1.7",
8690
"smarcet/silverstripe-cloudassets-swift": "dev-master",
8791
"markguinn/silverstripe-cloudassets": "dev-master",
88-
"php-opencloud/openstack": "dev-master"
92+
"php-opencloud/openstack": "dev-master",
93+
"jumbojett/openid-connect-php": "dev-master"
8994
},
9095
"require-dev": {
9196
"behat/behat": "@stable",

composer.lock

Lines changed: 74 additions & 32 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cron_jobs_scheduler/_config/schedule.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -113,10 +113,6 @@ jobs:
113113
cron_expression: "59 11 * * *"
114114
enabled: 1
115115

116-
- name: "OpenStackIdCleanInvalidNoncesAssocsTask"
117-
cron_expression: "00 03 * * *" # run at 0300 AM every day
118-
enabled: 1
119-
120116
- name: "MemberSpammerProcessorTask"
121117
cron_expression: "00 03 * * *" # run at 0300 AM every day
122118
enabled: 1

elections/code/infrastructure/active_records/FoundationMember.php

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ public function convert2SiteUser()
4141
{
4242
$this->resign();
4343
$this->owner->addToGroupByCode(IFoundationMember::CommunityMemberGroupSlug);
44+
$this->owner->write();
4445
}
4546

4647
/**
@@ -63,8 +64,8 @@ public function resign()
6364
$document->delete();
6465
}
6566
}
66-
67-
$this->owner->ResignDate = CustomMySQLDatabase::nowRfc2822();
67+
$this->owner->MembershipType = IOpenStackMember::MembershipTypeCommunity;
68+
$this->owner->ResignDate = CustomMySQLDatabase::nowRfc2822();
6869
}
6970

7071
public function onBeforeDelete()
@@ -94,6 +95,9 @@ public function upgradeToFoundationMember()
9495
$legalAgreement->MemberID = $this->owner->ID;
9596
$legalAgreement->LegalDocumentPageID = 422;
9697
$legalAgreement->write();
98+
$this->owner->MembershipType = IOpenStackMember::MembershipTypeFoundation;
99+
$this->owner->ResignDate = null;
100+
$this->owner->write();
97101
return true;
98102
}
99103
return false;
@@ -102,7 +106,7 @@ public function upgradeToFoundationMember()
102106
public function isFoundationMember()
103107
{
104108
$res = $this->owner->inGroup(IFoundationMember::FoundationMemberGroupSlug);
105-
$legal_agreements = DataObject::get("LegalAgreement", " LegalDocumentPageID=422 AND MemberID =" . $this->owner->ID);
109+
$legal_agreements = DataObject::get("LegalAgreement", " LegalDocumentPageID = 422 AND MemberID =" . $this->owner->ID);
106110
$res = $res && $legal_agreements->count() > 0;
107111
return $res;
108112
}

migrations/migrations.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,3 +124,5 @@ migrations:
124124
- ShanghaiPresentationSlugMigration
125125
- Election2018Migration
126126
- JobCompanyMigrationTask
127+
- DeleteNullEmailMigration
128+
- UpdateMemberShipTypeMigration

openstackid/_config/injector.yml

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,9 @@ Member:
66
extensions:
77
- OpenStackIdMember
88
Injector:
9-
OpenStackIdMySQLStore:
10-
constructor:
11-
0: %$OpenStackIdDatabaseConnection
12-
Auth_OpenID_Consumer:
13-
constructor:
14-
0: '%$OpenStackIdMySQLStore'
15-
1: '%$SilverStripeSessionWrapper'
169
Security:
1710
class: OpenStackIdSecurityController
18-
constructor:
19-
0: '%$Auth_OpenID_Consumer'
2011
OpenStackIdAuthenticator:
2112
constructor:
2213
0: '%$MemberRepository'
23-
1: '%$OpenStackIdMySQLStore'
24-
2: '%$Auth_OpenID_Consumer'
25-
OpenStackIdCleanInvalidNoncesAssocsTask:
26-
constructor:
27-
0: '%$OpenStackIdMySQLStore'
14+
1: '%$MemberManager'

0 commit comments

Comments
 (0)