{"guid":"df766496-75b4-5b2e-8407-506cc88a77ae","title":"Lessons learned from implementing Native OIDC from scratch","subtitle":null,"slug":"matrix-conf-2025-71181-lessons-learned-from-implementing-native-oidc-from-scratch","link":"https://cfp.2025.matrix.org/matrix-conf-2025/talk/XLV7PZ/","description":"Are we OIDC yet ? YES ! We are !\n\nOpenID Connect evolved as the one and only identity standard in the modern web. With MSC3861, the [matrix] ecosystem is finally moving to OIDC as the authentication standard amongst clients and homeservers.\n\nOut of curiosity, I started implementing a native OIDC implementation from scratch : no OAuth 2.0 library, no Ruma ; just the [matrix] Dart SDK, an HTTP client and the MSC in front of me. This talk will be about the lessons learned.\n\nLicensed to the public under https://creativecommons.org/licenses/by-sa/4.0/","original_language":"eng","persons":["The one with the braid (she/her)"],"view_count":139,"promoted":false,"date":"2025-10-17T12:35:00.000+02:00","release_date":"2025-10-17T00:00:00.000+02:00","updated_at":"2026-04-12T07:15:02.967+02:00","tags":["71181","2025","matrix-conf-2025","Hands-on","Lynn Conway","matrix-conf-2025-eng","matrix-conf-2025","Day 3"],"length":1624,"duration":1624,"thumb_url":"https://static.media.ccc.de/media/events/matrix-conf/2025/71181-df766496-75b4-5b2e-8407-506cc88a77ae.jpg","poster_url":"https://static.media.ccc.de/media/events/matrix-conf/2025/71181-df766496-75b4-5b2e-8407-506cc88a77ae_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/matrix-conf/2025/71181-df766496-75b4-5b2e-8407-506cc88a77ae.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/matrix-conf/2025/71181-df766496-75b4-5b2e-8407-506cc88a77ae.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/matrix-conf-2025-71181-lessons-learned-from-implementing-native-oidc-from-scratch","url":"https://api.media.ccc.de/public/events/df766496-75b4-5b2e-8407-506cc88a77ae","conference_title":"Matrix Conference 2025","conference_url":"https://api.media.ccc.de/public/conferences/matrix-conf-2025","related":[],"recordings":[{"size":133,"length":1624,"mime_type":"video/webm;codecs=av01","language":"eng","filename":"matrix-conf-2025-71181-eng-Lessons_learned_from_implementing_Native_OIDC_from_scratch_av1-hd.webm","state":"new","folder":"av1-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2025-10-17T16:16:05.285+02:00","recording_url":"https://cdn.media.ccc.de/events/matrix-conf/2025/av1-hd/matrix-conf-2025-71181-eng-Lessons_learned_from_implementing_Native_OIDC_from_scratch_av1-hd.webm","url":"https://api.media.ccc.de/public/recordings/92485","event_url":"https://api.media.ccc.de/public/events/df766496-75b4-5b2e-8407-506cc88a77ae","conference_url":"https://api.media.ccc.de/public/conferences/matrix-conf-2025"},{"size":24,"length":1624,"mime_type":"audio/mpeg","language":"eng","filename":"matrix-conf-2025-71181-eng-Lessons_learned_from_implementing_Native_OIDC_from_scratch_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2025-10-17T16:16:13.547+02:00","recording_url":"https://cdn.media.ccc.de/events/matrix-conf/2025/mp3/matrix-conf-2025-71181-eng-Lessons_learned_from_implementing_Native_OIDC_from_scratch_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/92487","event_url":"https://api.media.ccc.de/public/events/df766496-75b4-5b2e-8407-506cc88a77ae","conference_url":"https://api.media.ccc.de/public/conferences/matrix-conf-2025"},{"size":60,"length":1624,"mime_type":"video/webm","language":"eng","filename":"matrix-conf-2025-71181-eng-Lessons_learned_from_implementing_Native_OIDC_from_scratch_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2025-10-17T17:36:13.293+02:00","recording_url":"https://cdn.media.ccc.de/events/matrix-conf/2025/webm-sd/matrix-conf-2025-71181-eng-Lessons_learned_from_implementing_Native_OIDC_from_scratch_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/92529","event_url":"https://api.media.ccc.de/public/events/df766496-75b4-5b2e-8407-506cc88a77ae","conference_url":"https://api.media.ccc.de/public/conferences/matrix-conf-2025"},{"size":151,"length":1624,"mime_type":"video/webm","language":"eng","filename":"matrix-conf-2025-71181-eng-Lessons_learned_from_implementing_Native_OIDC_from_scratch_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2025-10-17T17:33:19.829+02:00","recording_url":"https://cdn.media.ccc.de/events/matrix-conf/2025/webm-hd/matrix-conf-2025-71181-eng-Lessons_learned_from_implementing_Native_OIDC_from_scratch_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/92527","event_url":"https://api.media.ccc.de/public/events/df766496-75b4-5b2e-8407-506cc88a77ae","conference_url":"https://api.media.ccc.de/public/conferences/matrix-conf-2025"},{"size":59,"length":1624,"mime_type":"video/mp4","language":"eng","filename":"matrix-conf-2025-71181-eng-Lessons_learned_from_implementing_Native_OIDC_from_scratch_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2025-10-17T16:16:09.753+02:00","recording_url":"https://cdn.media.ccc.de/events/matrix-conf/2025/h264-sd/matrix-conf-2025-71181-eng-Lessons_learned_from_implementing_Native_OIDC_from_scratch_sd.mp4","url":"https://api.media.ccc.de/public/recordings/92486","event_url":"https://api.media.ccc.de/public/events/df766496-75b4-5b2e-8407-506cc88a77ae","conference_url":"https://api.media.ccc.de/public/conferences/matrix-conf-2025"},{"size":17,"length":1624,"mime_type":"audio/opus","language":"eng","filename":"matrix-conf-2025-71181-eng-Lessons_learned_from_implementing_Native_OIDC_from_scratch_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2025-10-17T15:54:56.682+02:00","recording_url":"https://cdn.media.ccc.de/events/matrix-conf/2025/opus/matrix-conf-2025-71181-eng-Lessons_learned_from_implementing_Native_OIDC_from_scratch_opus.opus","url":"https://api.media.ccc.de/public/recordings/92474","event_url":"https://api.media.ccc.de/public/events/df766496-75b4-5b2e-8407-506cc88a77ae","conference_url":"https://api.media.ccc.de/public/conferences/matrix-conf-2025"},{"size":171,"length":1624,"mime_type":"video/mp4","language":"eng","filename":"matrix-conf-2025-71181-eng-Lessons_learned_from_implementing_Native_OIDC_from_scratch_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2025-10-17T14:47:38.669+02:00","recording_url":"https://cdn.media.ccc.de/events/matrix-conf/2025/h264-hd/matrix-conf-2025-71181-eng-Lessons_learned_from_implementing_Native_OIDC_from_scratch_hd.mp4","url":"https://api.media.ccc.de/public/recordings/92449","event_url":"https://api.media.ccc.de/public/events/df766496-75b4-5b2e-8407-506cc88a77ae","conference_url":"https://api.media.ccc.de/public/conferences/matrix-conf-2025"}]}