You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+13-16Lines changed: 13 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -166,14 +166,18 @@ Enjoy!
166
166
The BornHack website can act as an OIDC IDP. You are welcome to use it for your projects.
167
167
168
168
169
-
### OIDC User Claims
169
+
### OIDC Scopes and User Claims
170
+
The website has a view to inspect which OIDC user claims are returned when using the various claim scopes. It can be accessed at https://bornhack.dk/profile/oidc/
170
171
171
-
The supported standard and custom OIDC user claims can be seen in `bornhack/oauth_validators.py`https://github.com/bornhack/bornhack-website/blob/master/src/bornhack/oauth_validators
172
172
173
+
### OIDC User Claims Source Code
173
174
174
-
### OIDC Scopes
175
+
The supported standard and custom OIDC user claims can be seen in `bornhack/oauth_validators.py`https://github.com/bornhack/bornhack-website/blob/master/src/bornhack/oauth_validators.py
175
176
176
-
Supported oauth2 scopes are split between standard OIDC claim scopes, custom OIDC claim scopes, and API scopes. The current list of supported scopes can be seen in the `OAUTH2_PROVIDER["SCOPES"]` dict in `bornhack/settings.py`https://github.com/bornhack/bornhack-website/blob/master/src/bornhack/settings.py
177
+
178
+
### OIDC Scopes Source Code
179
+
180
+
Supported oauth2 scopes are divided into standard OIDC claim scopes, custom OIDC claim scopes, and API scopes. The current list of supported scopes can be seen in the `OAUTH2_PROVIDER["SCOPES"]` dict in `bornhack/settings.py`https://github.com/bornhack/bornhack-website/blob/master/src/bornhack/settings.py
177
181
178
182
179
183
## Notes
@@ -183,29 +187,22 @@ If your database user in your dev setup is not a postgres superuser you will enc
Copy file name to clipboardExpand all lines: src/bornhack/settings.py
+7-2Lines changed: 7 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -221,19 +221,24 @@
221
221
"SCOPES": {
222
222
# required
223
223
"openid": "OpenID Connect scope",
224
+
224
225
# deprecated api scope, remove after 2025 camp
225
226
"profile:read": "Allow the remote site to read your bornhack.dk username (uuid), user id, profile public credit name, profile description, and a list of team memberships using the profile API endpoint (scope profile:read). NOTE: This scope is being deprecated soon! Ask the BornHack website team for more info.",
227
+
226
228
# standard OIDC claim scopes
227
229
"profile": "Allow the remote site to read your profile public_credit_name, description, and update time (scope: profile)",
228
230
"email": "Allow the remote site to read your email address (scope: email)",
229
231
"address": "Allow the remote site to read your profile location (scope: address)",
230
232
"phone": "Allow the remote site to read your profile phonenumber (scope: phone)",
233
+
231
234
# custom bornhack user claim scopes
232
235
"groups:read": "Allow the remote site to read a list of your group memberships (scope: groups:read).",
236
+
"location:read": "Allow the remote site to read your profile location (scope: loocation:read)",
233
237
"permissions:read": "Allow the remote site to read a list of your assigned permissions (scope: permissions:read).",
234
-
"teams:read": "Allow the remote site to read a list of your team memberships and team lead status (scope: teams)",
238
+
"teams:read": "Allow the remote site to read a list of your team memberships and team lead status (scope: teams:read)",
239
+
235
240
# api scopes
236
-
"phonebook:admin": "Allow the remote site to read the camp phonebook including service numbers and unlisted numbers. Also allows access to the POC API. Only relevant for POC team leads (scope: phonebook:admin).",
241
+
"phonebook:admin": "Allow the remote site to read the camp phonebook, including service numbers and unlisted numbers. Also allow the remote site to use to the POC API. This scope is only relevant for POC team leads (scope: phonebook:admin).",
237
242
"phonebook:read": "Allow the remote site to read the camp phonebook (scope: phonebook:read).",
<b>BornHack</b> is a 7 day <b>outdoor tent camp</b> where hackers, makers and people with an interest in technology or security come together to celebrate technology, socialise, learn and <b>have fun</b>.
22
+
</div>
23
+
</div>
24
+
<divclass="col-12 col-lg-3">
25
+
{% thumbnail 'img/bornhack-2020' 'logotent_pink_people.jpg' 'BornHack Logotent with pink light and people' %}
26
+
</div>
27
+
</div>
28
+
29
+
30
+
<divclass="row mt-3">
31
+
<divclass="col-12 col-lg-3">
32
+
{% thumbnail 'img/bornhack-2020' 'participant_tent_laptop.jpg' 'hacker with laptop in front of tent' %}
33
+
</div>
34
+
<divclass="col-12 col-lg-9">
35
+
<divclass="lead">
36
+
<strong>BornHack 2026</strong> will be the eleventh BornHack. It will take place from <strong>Wednesday the 15th of July to Wednesday the 22nd of July 2026</strong> at our venue on the Danish island of Funen.
37
+
</div>
38
+
</div>
39
+
</div>
40
+
41
+
<br/>
42
+
43
+
<divclass="row mt-3">
44
+
<divclass="col-12 col-lg-9">
45
+
<divclass="lead">
46
+
The BornHack team looks forward to organising another great event for the hacker community. We <ahref="{% url 'teams:list' camp_slug=camp.slug %}">still need volunteers</a>, so please let us know if you want to help!
47
+
</div>
48
+
</div>
49
+
<divclass="col-12 col-lg-3">
50
+
{% thumbnail 'img/bornhack-2021' 'volunteers.jpg' 'The BornHack 2021 volunteers' %}
51
+
</div>
52
+
</div>
53
+
54
+
<br/>
55
+
56
+
<divclass="row mt-3">
57
+
<divclass="col-12 col-lg-3">
58
+
{% thumbnail 'img/bornhack-2018/fonsmark' 'FB1_9970_cropped.JPG' 'Danish politicians, government officals and IT-developers debating at BornHack 2018' %}
59
+
</div>
60
+
<divclass="col-12 col-lg-9">
61
+
<divclass="lead">We want to encourage <strong>hackers, makers, politicians, activists, developers, artists, sysadmins, engineers</strong> with something to say to read our <ahref="{% url 'program:call_for_participation' camp_slug=camp.slug %}">call for participation</a>.</div>
62
+
</div>
63
+
</div>
64
+
65
+
<br/>
66
+
67
+
<divclass="row mt-3">
68
+
<divclass="col-12 col-lg-9">
69
+
<divclass="lead">
70
+
BornHack aims to <strong>keep ticket prices affordable</strong> for everyone and to that end <strong>we need sponsors</strong>. Please see our <ahref="{% url 'sponsors' camp_slug=camp.slug %}">call for sponsors</a> if you want to sponsor us, or if you work for a company you think might be able to help.
field=models.SlugField(blank=True, help_text="When using your BornHack account to login to other sites with OIDC this value is served as the OIDC standard claim 'preferred_username'. You can set this to the username you would prefer to use on remote sites where you login with your BornHack account."),
Copy file name to clipboardExpand all lines: src/profiles/models.py
+6-1Lines changed: 6 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -67,13 +67,18 @@ class Meta:
67
67
help_text="The phonenumber you can be reached on. This field can be updated automatically when registering a DECT number in the phonebook.",
68
68
)
69
69
70
-
# default to near general camping
71
70
location=PointField(
72
71
blank=True,
73
72
null=True,
74
73
help_text="Your location at BornHack. This value is available on public maps.",
75
74
)
76
75
76
+
preferred_username=models.SlugField(
77
+
blank=True,
78
+
max_length=50,
79
+
help_text="When using your BornHack account to login to other sites with OIDC this value is served as the OIDC standard claim 'preferred_username'. You can set this to the username you would prefer to use on remote sites where you login with your BornHack account.",
0 commit comments