0

인증 된 사용자가 누군가의 이메일 주소로 초대장을 보낼 수있는 권한이 필요합니다. 이 초대를 클릭하면 사용자는 가입하라는 메시지가 표시되고 완료되면 작성자와 동일한 계정에 연결됩니다.Ruby on Rails 응용 프로그램에 시스템 디자인 초대하기

초대 된 사용자가 의도 된 계정과 연결되어 있는지 확인하기위한 보안 메커니즘을 디자인하는 데 어려움을 겪고 있습니다.

은 (는 도움이 있다면, 나는 루비 2 사용하고 4 개의 레일 및 인증을위한 마법 보석)

+0

체크 아웃 유증 : https://github.com/plataformatec/devise 및 invitable 고안 : https://github.com/scambra/devise_invitable. – AytanLeibowitz

답변

1

다음 작품 :

  1. 사용 마법 User Activation submodule

  2. 에 '초대'작업은 사용자 (비활성)를 만들고 해당 사용자를 계정에 연결합니다. 활성화 링크가 포함 된 초대 이메일을 보냅니다. http://example.com/users/:token/activate. 당신의 users_controller#activate에서

  3. :

user = User.load_from_activation_token(params[:token]) 
... # update user fields, e.g. set password 
user.activate! 
+0

내가 이미 의도 한 목적으로 사용자 인증을 사용하고 있다면 초대를 위해 어떻게 사용할 수 있습니까? – pingu

+0

거의 같은 방법 : 사용자 생성, 계정에 그녀를 연결하고 사용자 용 초대 토큰 설정. 토큰을 포함하는 링크가 포함 된 전자 메일을 보냅니다. 컨트롤러에서 토큰으로 사용자를 찾고 정보를 업데이트하고 활성화하십시오. – palkan

+0

이 링크를 클릭하면 비슷한 기능을 찾을 수 있습니다. 이것에 대한 정품 인증 기능을 악용하는 문제는 암호없이 사용자를 만들면 마법이 전자 메일을 트리거하지 않는다는 것입니다 (https://github.com/NoamB/sorcery/issues/88). –