안녕하세요, 현재 학교 과제로 Single page app 게임을 만들어야하는 상황입니다.
학교 Oauth 인증 서버만을 이용해서 로그인을 구현해야하는데요,
ruby on rails 를 사용해야 하는 제한이 있습니다.
구현은 Oauth2 잼만을 이용해서 다른 devise 나 omniauth 는 사용하지 않았습니다.
일단 제가 구현한 로그인 workflow 은 다음과 같습니다.
1. 유저가 "00학교 로그인" 버튼을 클릭
2. 세션에 uid가 존재하는지 확인
있으면? 홈으로 이동
없으면? 다음과 같은 url 파라미터 설정 후 학교api/oauth/authorize 로 리다이렉트
client_id => 학교 api 서버에 등록한 app의 id
redirect uri => 내 사이트로의 콜백주소
response type => "code"
state => 랜덤 문자열을 만들고 cookie에 해당 state를 저장(학교에서 콜백으로 보낸 주소에서 state를 비교)