New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(dashboard): add SSO feature and integrate with LDAP #11631
Conversation
b52ede0
to
3643424
Compare
3643424
to
6131108
Compare
Provider = emqx_dashboard_sso:provider(Backend), | ||
case emqx_dashboard_sso:login(Provider, Sign, State) of | ||
{ok, Token} -> | ||
?SLOG(info, #{msg => "Dashboard SSO login successfully", request => Sign}), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dashboard_sso_login_succeeded
{role, | ||
mk(binary(), #{desc => ?DESC(role), default => ?ROLE_DEFAULT, example => ?ROLE_DEFAULT})}; | ||
field(backend) -> | ||
{backend, mk(binary(), #{desc => ?DESC(backend), example => <<"local">>})}. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
enum?
fun(Key, Acc) -> | ||
case maps:find(Key, Config) of | ||
{ok, Value} when is_binary(Value) -> | ||
Acc#{Key := erlang:binary_to_list(Value)}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why is 'timeout' a s string?
maybe add a comment here.
emqx_utils_ets:new( | ||
dashboard_sso, | ||
[ | ||
set, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ordered_set.
Fixes
Summary
馃 Generated by Copilot at 2cddce5
This pull request adds a new application
emqx_dashboard_sso
to the enterprise edition of EMQX, which provides the functionality of single sign-on for the EMQX dashboard. It implements different single sign-on backends, such as LDAP, and integrates them with the existingemqx_dashboard
andemqx_dashboard_admin
modules. It also adds the necessary configuration, documentation, license, and internationalization files for the new application.PR Checklist
Please convert it to a draft if any of the following conditions are not met. Reviewers may skip over until all the items are checked:
changes/(ce|ee)/(feat|perf|fix)-<PR-id>.en.md
filesChecklist for CI (.github/workflows) changes
changes/
dir for user-facing artifacts update