소스 검색

Permit LDAP users to register without capturing their password hash

We don't need it, and local auth fallback has been removed.
note-update
Mark Felder 3 년 전
부모
커밋
2192d1e492
2개의 변경된 파일22개의 추가작업 그리고 4개의 파일을 삭제
  1. +19
    -0
      lib/pleroma/user.ex
  2. +3
    -4
      lib/pleroma/web/auth/ldap_authenticator.ex

+ 19
- 0
lib/pleroma/user.ex 파일 보기

@@ -638,6 +638,25 @@ defmodule Pleroma.User do
@spec force_password_reset(User.t()) :: {:ok, User.t()} | {:error, Ecto.Changeset.t()}
def force_password_reset(user), do: update_password_reset_pending(user, true)

# Used to auto-register LDAP accounts which don't have a password hash
def register_changeset(struct, params = %{password: password})
when is_nil(password) do
params = Map.put_new(params, :accepts_chat_messages, true)

struct
|> cast(params, [
:name,
:nickname,
:accepts_chat_messages
])
|> unique_constraint(:nickname)
|> validate_exclusion(:nickname, Config.get([User, :restricted_nicknames]))
|> validate_format(:nickname, local_nickname_regex())
|> put_ap_id()
|> unique_constraint(:ap_id)
|> put_following_and_follower_address()
end

def register_changeset(struct, params \\ %{}, opts \\ []) do
bio_limit = Config.get([:instance, :user_bio_length], 5000)
name_limit = Config.get([:instance, :user_name_length], 100)


+ 3
- 4
lib/pleroma/web/auth/ldap_authenticator.ex 파일 보기

@@ -88,7 +88,7 @@ defmodule Pleroma.Web.Auth.LDAPAuthenticator do
user

_ ->
register_user(connection, base, uid, name, password)
register_user(connection, base, uid, name)
end

error ->
@@ -96,7 +96,7 @@ defmodule Pleroma.Web.Auth.LDAPAuthenticator do
end
end

defp register_user(connection, base, uid, name, password) do
defp register_user(connection, base, uid, name) do
case :eldap.search(connection, [
{:base, to_charlist(base)},
{:filter, :eldap.equalityMatch(to_charlist(uid), to_charlist(name))},
@@ -107,8 +107,7 @@ defmodule Pleroma.Web.Auth.LDAPAuthenticator do
params = %{
name: name,
nickname: name,
password: password,
password_confirmation: password
password: nil
}

changeset = User.register_changeset(%User{}, params)


불러오는 중...
취소
저장