2017-11-29 7 views
0

My Rails 앱은 Doorkeeper를 사용하는 oauth 제공 업체입니다. 클라이언트가 등록한 앱은 사용자 대신 서비스에서 정보를 검색하기 위해 API 호출을 할 수 있습니다. 에서 인증 코드 클라이언트 응용 프로그램에서 새 사용자를 등록하고 Doorkeeper와 함께 권한을 부여하십시오.

을이 사용자에게 권한을 부여하고 돌아 API 전용 엔드 포인트

  • 를 통해 내 응용 프로그램에

    • 레지스터 새로운 사용자 :

      은 무엇 내가 달성하고자하는 것은 할 수있는 클라이언트 응용 프로그램입니다 하나 또는 두 개의 호출, 그건 중요하지 않습니다.

      사용자는 Devise에서 관리합니다. 나는 Devise Invitable을 통해 사용자를 어떻게 만들 수 있는지보고 있지만 Doorkeeper를 사용하여이 사용자를 어떻게 인증 할 수 있는지 알지 못합니다. 사용자가 skip_authorization config로 인증되기 전에 인증되어야하기 때문입니다. 나는 그것을 달성하기위한 몇 가지 도움이나 아이디어가 필요합니다. 감사합니다

  • 답변

    0

    마지막으로 나는 문지기 issues에 해결책을 발견 :

    app = Doorkeeper::Application.where(uid: params[:client_id]).first 
    access_token = Doorkeeper::AccessToken.create!({ 
        :application_id  => app.id, 
        :resource_owner_id => @user.id, 
        :scopes    => 'all', 
        :expires_in   => Doorkeeper.configuration.access_token_expires_in, 
        :use_refresh_token => Doorkeeper.configuration.refresh_token_enabled? 
    }) 
    @token_response = Doorkeeper::OAuth::TokenResponse.new(access_token) 
    puts @token_response.body 
    

    나는 사용자를 만들 내 사용자 가입 엔드 포인트에서이 코드를 사용하고 access_token은 반환 할 수 있습니다.