Discourse를 OAuth2/OIDC Provider로 지원하기

:information_source: 요약 Oauth2/OIDC 제공자. 사용자가 자신의 앱을 생성할 수 있습니다.
:hammer_and_wrench: 다운로드 링크 https://vvpp.cc/s/GPmCV

기능

우리는 Discourse가 공식적으로 Oauth2/OIDC 제공자 역할을 수행하는 솔루션을 사용하지 않는다는 것을 알고 있습니다.

서비스를 더 잘 구현하고, 모두가 더 많은 아이디어를 NL에 가져올 수 있도록 하기 위해, NL은 Parkour-Vienna/distrust: Use discourse as an OIDC (OAuth 2.0) provider를 기반으로 사용자가 직접 앱을 신청할 수 있는 Oauth2/OIDC 제공자를 구현했습니다.

설정

사용자 관련 데이터는 Mysql에 저장하므로, 구체적인 사용 방법은 먼저 Mysql/MariaDB를 설치하고 SQL 스크립트를 실행하여 데이터베이스를 생성하는 것입니다. 그런 다음 distrust.yml을 설정하여 데이터베이스 관련 내용을 구성하고, distrust genkey를 실행하여 해당하는 RSA 키를 생성합니다. 마지막으로 Discourse 관리 콘솔에서 Discourse Connect 제공자를 생성하고 관련 정보를 입력합니다.

그런 다음 다음을 실행합니다.

chmod _+x distrust
./distrust

IP:3000/apps에 액세스하면 앱 인터페이스를 볼 수 있습니다.

데모

사용자가 Oauth2/OIDC 로그인을 사용할 때.

5개의 좋아요

이것이 제가 찾던 부분인 것 같지만, 저는 기술적인 지식이 부족하므로 누군가가 이 문제를 살펴볼 때까지 인내심을 갖고 기다리겠습니다 :slight_smile:

DeepL을 사용하여 원문을 영어로 번역해 공유합니다.

1개의 좋아요

훌륭한 시작입니다. 오픈소스 기여에 진심으로 감사드립니다. 정말 대단한 시작이네요. :clap: :clap: :clap:

멋지다!

./distrust

mysql 버전:9.0.1

오류:

FTL 데이터베이스 초기화 실패 error=“데이터베이스 마이그레이션 실패: 고유 인덱스 생성 실패: Error 1064 (42000): SQL 구문에 오류가 있습니다. MySQL 서버 버전에 해당하는 매뉴얼을 확인하여 ‘IF NOT EXISTS idx_user_authorizations_user_client \n\t\tON user_authorizations(user’ 근처의 올바른 구문을 사용하세요” at line 1