programing

Ionic/Cordova 앱 인증

closeapi 2023. 3. 27. 21:15
반응형

Ionic/Cordova 앱 인증

우선, 난 프로가 아니야.

더 나은 개발자가 되기 위해 저는 무엇이 필요한지, 그리고 Ionic-Framework 앱에 대한 가입/로그인을 어떻게 해야 하는지 이해하려고 합니다.

대부분의 Single-Page-Applications(SPA; 싱글페이지 애플리케이션)는 클라이언트용 HTML을 제공하는 노드서버에서의 인증을 처리합니다.제 경우 전화 자체가 HTML을 사용할 수 있기 때문에 COR에 문제가 있을 수 있습니다.

Ionic-Framework는 상태를 사용하고 있으며, angular-client-side-auth repo를 기반으로 하고 있으므로 앱에서 상태를 변경할 때마다 인증을 받아야 합니다.

초기 앱 설정이 되어 있습니다만, 지금 어떻게 하면 좋을지 혼란스럽습니다.

사용 가능한 도구:

  • Node.JS Server - Thanks Digital Ocean (DB 프록시로 사용해야 합니까?)
  • CouchDB 서버(풀스택)

질문:

  1. 하이브리드 애플리케이션을 사용할 때 인증을 위한 표준 접근 방식은 무엇입니까?
  2. 노드를 사용해야 합니까?데이터베이스 프록시로서 JS를 사용하시겠습니까?
  3. node.js를 건너뛰고 CouchDB 서버에서 직접 인증해야 합니까? (이것도 들은 적이 있습니다)
  4. 제가 이 일을 잘못하고 있는 건가요?
  5. 잠재적인 장애물은 무엇입니까?
  6. 하이브리드 애플리케이션에서는 CORS가 어떻게 작동합니까?
  7. 내가 뭘 놓친거야?

더 나은 개발자가 될 수 있도록 도와주셔서 감사합니다.

nathvarun은 매우 완전한 답변을 주었지만, 제 앱에서 인증 절차를 공유하고 싶습니다.

  1. 보내세요email+password서버로의 Ajax 경유
  2. 를 생성하다token서버에 저장하여 앱으로 되돌립니다.
  3. 가게email+tokenlocalStorage
  4. 서버에 송신하는 모든 요구에 대해서email+token경유로POST
  5. 서버에서 해당 토큰을 사용하여 해당 사용자의 신뢰성을 확인합니다.true메서드가 실행됩니다.false앱에 에러(401)를 재발송합니다.
  6. 앱이 성공했을 경우는 괜찮습니다.에러가 발생했을 경우는 로그인 화면으로 리다이렉트 합니다.

좋은 점은 앱이 열렸을 때,email+token부터localStorage이 토큰이 해당 사용자에게 정상일 경우 서버로 전송하고 그렇지 않을 경우 로그인으로 수정합니다.사용자가 앱의 캐시를 지울 때마다 로그인 화면으로 리디렉션됩니다.

사실 지금 작업 중인 앱 몇 개 때문에 그런 게 필요했어요.나는 꽤 오랜 시간을 들여 이것을 조사했고 그것을 달성할 수 있었다.

결과에 매우 만족하고 있습니다.이메일/비밀번호 인증 외에 동일하게 동작하는 소셜 인증도 추가했습니다.

  1. 클라이언트측에서 로그인하기 위한 프로바이더의 URL(sublic/sublic/sublic)을 사용하여 url을 엽니다.
  2. 사용자가 로그인하여 서버의 콜백 URL로 리다이렉트됩니다(서버는 nodejs로 작성됩니다).
  3. 접속 토큰을 제공자로부터 얻으면요.이 토큰을 저장한 후 사용자가 보호된 자원 소스에 액세스할 때마다 클라이언트가 재사용할 토큰을 만듭니다.

apk를 다운로드하여 테스트합니다.

원하는 경우 클라이언트 측 코드를 모두 https://github.com/malikov/Authenticate.me-client-cordova-ionic 에서 확인할 수 있습니다.

서버측 코드(https://github.com/malikov/Authenticate.me-Node-Server)는 다음과 같습니다.

언급URL : https://stackoverflow.com/questions/22165024/authentication-in-ionic-cordova-app

반응형