2017-12-14 19 views
0

레일 유증에 등록 할 수 없습니다내가 서버에서 내가이 볼, 난 단지 로그인, 등록 할 수 없습니다

무단 연결 시도가 웹 소켓 (로 업그레이드 할 수 없습니다 거부

REQUEST_METHOD : GET, HTTP_CONNECTION : , HTTP_UPGRADE, 살아-계속 업그레이드 : 웹 소켓을)

class Connection < ActionCable::Connection::Base 

identified_by : CURRENT_USER

def connect 
    self.current_user = find_verified_user 
    logger.add_tags 'ActionCable', current_user.name 
end 

protected 
    def find_verified_user 
    if verified_user = User.find_by(id: cookies.signed['user.id']) 
     verified_user 
    else 
     reject_unauthorized_connection 
    end 
    end 

내 경로

devise_for :users, controllers: { 
    registrations: 'users/registrations', 
    :omniauth_callbacks => "users/omniauth_callbacks" 
} 

마운트 ActionCable.server => '/ 케이블'

답변

0

귀하의 connection.rb 파일은 아마 라인 identified_by :current_user이 있고, 당신의 def connect가 필요로하는 사용자 정의 find_verified_user 방법의 몇 가지 변화를 호출 동일한 파일 내에서 앱이 맞춤 설정 한 유효한 인증 따라서 사용자를 만들려고 할 때 ActionCable에 대한 연결이 거부되었으므로 유효한 인증 및 사용자 식별에 필요한 항목으로 요청을하지 않았 음을 의미합니다. 그래서 진짜 질문은 : 당신이 WebSocket을 통해 사용자를 등록하려고하는 이유가 무엇입니까?

+0

나는 mi 앱에 들어가기 만하면된다. 사용자를 등록하기 위해서 등록 할 필요가있다. 나의 앱에는 채팅이 더있다. 하지만이 방법을 사용하여 일반적인 입력 방법이라고 생각했지만 내 레지스트리를 차단하지 않으려했습니다. – frtgu34

+0

사용자 등록에 웹 소켓을 사용할 필요가 없습니다. 당신은 장치 설정 지시 사항을 따르셨습니까? 만약 그렇다면 당신의'routes.rb'에 사용자를위한 devise라는 라인이있을 것입니다. devise 뷰를 생성하고 비 웹 소켓 템플릿을 통해 등록하십시오. –

+0

https://gorails.com/episodes/user-authentication-with-devise 도움이 될 것입니다. –