레일 5 API 및 ExtJs로 응용 프로그램을 빌드하고 있습니다. 내 ExtJs 단일 페이지 응용 프로그램은 public/index.html을 통해로드되었습니다.Rails API를 통해 Oauth 서버로 인증 한 후 Js App으로 돌아 오는 방법은 무엇입니까?
ExtJs 앱의 버튼 클릭을 통해 필요한 매개 변수가있는 Oauth 로그인 페이지로 리디렉션됩니다.
그런 다음 Oauth 서버가 내 Rails App을 호출하고 인증을 거쳐 토큰을 다시받습니다.
모두 정상적으로 작동합니다. 내 문제는 이제 내 사용자로드, 업데이트, access_token 준비가되어 있지만 브라우저에서 단일 페이지 응용 프로그램을로드하고 access_token을 전달해야한다는 것입니다. 어떻게 든 나는 이것을 관리 할 수 없다.
def login
if params[:code]
response = request_token(params[:code])
if response.header.code == '200'
token_data = JSON.parse response.body
user_info = JWT.decode(token_data['id_token'],nil,false).first
@user = User.find_by email: user_info['email']
@user ? @user : @user = User.new
@user.name = "#{user_info['given_name']} #{user_info['family_name']}"
@user.access_token = token_data['access_token']
@user.access_token_created_at = Time.zone.now
@user.token_data = response.body
@user.save
render file: '/public/index.html'
else
redirect_to('/', status: response.header.code, alert: response.header.message)
end
elsif params[:error]
redirect_to('/', status: 401, alert: params[:error])
end
end
I 중 하나가 로컬 호스트와 빈 브라우저 창에 박히 : 나는 당신이 창을 다시로드가 리디렉션되고있다와 내가 메시지가 리디렉션하지만 경우 3000 URL과 코드 PARAM 아니면 매개 변수가없는 생각 전달.