문제

방금 Google의 Drendit 샘플 앱 in Java ( 소스 코드 ).간단한 드라이브 응용 프로그램을 작성하고 백엔드에서 권한을 처리하는 방법을 보여줍니다.

좋은 예입니다. 그러나 내가 알아 차리는 가장 큰 단점은 사용자가 드라이브에서 파일을 선택하려는 경우 (이전에 앱을 수행 할 수 있음에도 불구하고) 다시 로그인해야 할 때 사용자가 다시 로그인해야한다는 사실입니다.그것은 불편을 끼쳐 드려 죄송합니다.파일을 선택하면 JavaScript에서만 사용할 수있는 Google Picker API를 사용하여 수행됩니다.

은 내 백엔드와 프론트 엔드간에 인증 정보를 공유하고 싶습니다. Frondend에 백엔드에있는 OAuth 토큰을 전달할 수 있습니까?그렇다면, 그것을하는 것이 권장되는 방법이 있습니까?

도움이 되었습니까?

해결책

예 완벽하게 괜찮습니다.@tydotg가 설명한대로 클라이언트에서 스누핑하는 것은 클라이언트 또는 서버에서 생성되었는지 여부에 관계없이 액세스 토큰이 스누핑 가능한 것과 관계없이 문제가되지 않습니다.

유일한 실제 챌린지는 올바르게 인증 된 사용자에게 토큰 만 다운로드하는지 확인하고 있습니다.이 작업을 수행하는 데 사용할 수있는 여러 가지 구성표가 있지만 예를 들어 : -

  1. 사용자는 서버 기반 OAuth를 사용하여 앱으로 인증합니다.
  2. 서버는 사용자 ID 또는 이메일을 세션 변수
  3. 에 저장합니다.
  4. 클라이언트가 토큰을 요청할 때 세션 사용자를 사용하여 토큰
  5. 를 생성합니다.

다른 팁

십자가 신원을 사용하여 다음을 달성하십시오 :

"Nofollow"> https://developers.google.com/accounts/docs/crossclientauth <./ P>

나는 당신이 할 수 있습니다 (나는 Java에 익숙하지 않다. 예를 들어, 레일에서는 쉽지 않을 것이다). 그러나 이것을 원하지 않는 이유는 보안 때문이다.

서버 측의 모든 것은 꽤 안전하고 클라이언트가 액세스 할 수 없습니다.그러나 클라이언트쪽에있는 것은 공정한 게임입니다.나는 요소를 검사 할 수 있었고, 내가 찾고있는 것을 알았다면 OAuth 토큰을 잡을 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top