You’re probably dealing with this already. The app login works, users can sign in with Google, Microsoft, or email, and the API accepts a token. Then the core questions begin. Can this user see invoices from another account? Should the desktop app cache an access token locally? How do you handle consent in a Capacitor build without leaking state across the webview and native layer?
이미 그렇게 다루고 있을 겁니다. 앱 로그인은 작동하고, 사용자는 구글, 마이크로소프트, 이메일로 로그인할 수 있으며, Capacitor은 토큰을 수락합니다. 그런 다음 코어 질문이 시작됩니다. 이 사용자가 다른 계정의 송장 보기 권한이 있는지, 데스크톱 앱이 로컬에서 접근 토큰을 캐시해야 하는지, __CAPGO_KEEP_1__ 빌드에서 동의를 처리하는 방법이 웹뷰와 네이티브层 사이의 상태 누출을 피하는지?
목차
- 어플리케이션 인증의 실제 의미
- 인증의 기초
- 인증 모델 및 프로토콜
- OAuth 2.0 흐름의 구조
- 보안 위협과 필수적인 최적화 방법
- Capacitor 및 Electron 구현 패턴
- 앱 인증을 위한 안전한 경로
앱 인증이 무엇을 의미하는가
사용자가 앱을 설치하고 'Google과 계속하기'를 탭하고 성공적으로 로그인한 후, 앱이 연락처나 캘린더 데이터를 읽을 수 있는지 여부를 묻는 동의 화면을 받습니다. 그 순간에는 접근 권한의 양면이 포함되어 있습니다. 로그인은 사용자의 신원을 확인합니다. 동의 화면은 신원이 확인된 후 앱이 할 수 있는 작업을 정의합니다.
이 distinction은 여전히 팀을 혼란에 빠뜨립니다. 인증 사용자의 신분을 증명합니다. 인증 사용자가, 세션, 또는 앱이 접근할 수 있는 것을 결정합니다. ID는 건물에 들어가게 해줍니다. 키는 어떤 문을 열 것인지 결정합니다.
앱 개발에서 이 차이는 중요합니다. 팀은 로그인 흐름을 보호하고 나서 그 이후의 모든 것을 미숙하게 설계합니다. 그들은 토큰에 너무 많이 신뢰하거나 서버 측 권한 검사를 생략하거나 클라이언트가 접근 규칙을 결정하게 합니다. 그 결과 '사용자가 로그인'은 '사용자가 너무 많은 것을 접근할 수 있다'로 변합니다.
인증은 신뢰가 구체화되는 곳입니다. 사용자는 앱이 누구인지 알고 있다는 것만으로는 만족하지 않습니다. 그 앱이 승인한 것만 접근하도록 하려합니다.
인증에 관여하는 세 가지 역할을 기억해야 합니다:
- 사용자 로그인하고 승인할 수 있는 사람입니다.
- 애플리케이션 사용자의 behalf로 접근을 요청하는 앱입니다.
- 리소스 소유자 또는 API 데이터를 보호하고 결정에 따라 행동하는 사람입니다.
실무에서 앱 인증은 더 강력한 접근 제어와 겹칩니다. 2023년 1월 기준으로, 세계적으로 약 66%의 사용자가 MFA를 사용하고 있습니다., 그리고 2024년 JumpCloud 조사에서 1,000명 이상의 SME IT 전문가 중 83%가 모든 회사 자원에 대한 접근을 위해 MFA를 필요로 함을 조사한 JumpCloud의 MFA 통계 요약에 따르면. 따라서 JumpCloud의 MFA 통계 요약에 따르면.. 그러나 권한 부여를 대신하는 것은 아니지만, 처음부터 접근을 요청하는 사람의 기준을 높이는 것입니다.
만약 팀이 역할, 범위 및 위임된 접근을 정리하고 있다면, 여기서 논의된 implementation 선택과 함께 app 접근 관리 패턴의 개요는 유용한 동반자입니다. 권한 부여의 기초 권한 부여는 토큰 내에서 그것을 마법으로 다루지 않으면 훨씬 더 쉬워집니다. 더 나은 정신 모델은 호텔입니다.
호텔 키 카드는 좋은 정신 모델입니다.
권한 부여
권한 부여
손님은 호텔 프론트 데스크로 가서 신분증을 보여준다. 호텔은 신분을 확인하고 숙박 기록을 만들고 키카드를 발급한다. 그 카드는 매번 문을 열 때마다 손님의 신분을 증명하지 않는다. 그 카드는 특정 장소에 대한 접근 권한을 한정된 기간 동안 가지고 있는다.
당신의 앱은 동일하게 작동한다.

중요한 점은 카드가 정책이 아니라는 것이다. 정책을 반영한다. 문은 여전히 카드가 해당 문을 열 수 있는지 확인하는 시스템이 필요하다. 소프트웨어에서는 그게 당신의 API 게이트웨이, 백엔드 미들웨어, 정책 엔진, 또는 서비스 수준 권한 부여 계층이다.
실제 시스템에서 중요한 용어
Principal
권한을 요청하는 주체. 일반적으로 사용자지만, 장치, 배경 작업, 또는 서비스 계정도 될 수 있다.
Resource
보호하려는 대상. 프로젝트, 청구서, 관리 루트, 파일, API 엔드포인트, 또는 데이터베이스의 단일 레코드.
Scope
권한 부여 범위. 권한을 요청하는 액션의 집합. 프로필을 읽기. 파일 업로드. 청구 관리. 범위는 좁고 이해하기 쉽게 해야 한다.
Consent
사용자의 접근 권한 수준에 대한 승인.
액세스 토큰
권한 서버에 인증이 성공한 후 클라이언트가 제출하는 자격 증명.
이러한 모든 것을 단일 가정으로 압축하는 구현 오류가 많습니다. "사용자가 토큰이 있으므로 그들을 허용하십시오."는 실제로 프로덕션에서 유효하지만 현재 액션, 테넌트, 환경 또는 리소스와 일치하지 않는 토큰이 있을 수 있습니다.
모바일 및 데스크톱 팀에겐 토큰 처리에 특별한 주의가 필요합니다. 저장은 권한 시스템의 일부이기 때문입니다. 클라이언트가 액세스 아티팩트를 무심코 저장하면 정책 설계가 나중에 구원해 주지 못합니다. 이에 대한 안전한 토큰 저장을 위한 모바일 개발자 가이드 강한 규칙은 간단합니다. 인증, 승인, 토큰 발급, 서버측 강제는 모두 분리되어야 합니다. 이러한 요소를 합치는 팀은 일반적으로 잘못된 레이어에서 권한 오류를 디버깅합니다.
A durable rule is simple. Keep authentication, consent, token issuance, and server-side enforcement separate in your head and in your code. Teams that merge them usually end up debugging permission bugs in the wrong layer.
팀이 "OAuth를 사용하고 있다"고 말할 때, 종종 여러 가지 다른 것을 동시에 의미합니다. 혼란의 일부입니다. 프로토콜과 권한 모델은 서로 다른 문제를 해결합니다.
프로토콜은 대화
OAuth 2.0
권한 인증은 주로 위임 인증에 관한 것입니다. 이 인증은 사용자의 비밀번호를 직접 처리하지 않고 사용자의 behalf에서 앱이 요청하고 수신할 수 있는 권한을 정의합니다.
OpenID ConnectOpenID Connect, 또는 OIDC는 OAuth 2.0 위에 존재하며 사용자 정보를 추가합니다. 실질적으로 OAuth는
이 차이점은 Capacitor 및 Electron 앱에서 중요합니다. 많은 버그는 ID 토큰을 사용하는 대신 액세스 토큰이 필요한 경우 또는 성공적인 로그인으로 API이 모든 하류 작업을 허용해야 한다고 가정하는 경우에 시작됩니다. 그러나 그렇게 shouldn't.
만약 이걸 하이브리드 앱에 연결하고 싶다면, 단계별 OAuth2 구현 가이드는 Capacitor 앱에 대한 것입니다. 모델은 결정 논리 처리를 담당합니다.
내부 시스템에서 여전히 액세스 허용 여부를 결정하는 규칙이 필요합니다. 그곳에서
RBAC 및 ABAC ABAC 어서 오세요.
역할 기반 접근 제어 (RBAC) 역할을 포함한 관리자, 편집자, 지원 담당자, 또는 뷰어와 같은 역할에 대한 권한을 맵핑합니다. 이는 이해하기 쉽고, 감사할 수 있고, 상대적으로 안정적이기 때문에 일반적입니다. brightsec의 보안 인증 및 권한 부여에 대한 토론에 따르면, RBAC는 미세한 권한 부여를 강제하는 산업 표준 메커니즘입니다.그것에 대한 증거는 enterprise 환경에서 RBAC를 구현하는 데 있어 계층적 역할 구조와 정기적인 권한 감사와 함께 RBAC를 구현하면 보안 사고를 최대 40%까지 줄일 수 있다고 말합니다. 속성 기반 접근 제어 (ABAC).
속성을 사용하여 결정을 내리는 대신에만 역할을 사용합니다. 이는 부서, 장치 상태, 레코드 소유, 계정 등급, 지리, 요청 시간, 또는 세션에 MFA를 통과했는지 여부를 포함할 수 있습니다. ABAC는 더 표현력이 있지만 잘 문서화하지 않으면 투명하지 않게 만들기 쉽습니다. 실용적인 규칙:
제품 권한이 안정적이고人間-readable할 때 RBAC에서 시작하세요. ABAC를 추가하세요. 실제로 상황이 결정에 영향을 미치는 경우. RBAC vs. ABAC at a Glance
RBAC vs. ABAC at a Glance
| 기준 | 역할 기반 접근 제어 (RBAC) | 속성 기반 접근 제어 (ABAC) |
|---|---|---|
| 핵심 아이디어 | 역할에 따라 접근이 허용된다 | 속성에 따라 접근이 허용된다 |
| 최적 | 내부 도구, 대시보드, 관리자 패널 | 다중 테넌트 앱, 규제된 워크플로우, 컨텍스트에 의한 접근 |
| 사고의 용이성 | 팀과 감사관이 이해하기 쉬워진다 | 더 유연하지만 디버깅이 더 어려워진다 |
| 권한 관리 | 역할 추가 또는 수정 | 정책 및 속성 규칙 조정 |
| 일반적인 실패 모드 | 역할 과다 | 정책 과다 및 숨겨진 에지 케이스 |
| 예시 | “지원 담당자는 티켓을 볼 수 있습니다” | “지원 담당자는 활성 shift 중에 지역에 있는 계정에 대한 티켓을 볼 수 있습니다” |
가장 복잡한 모델을 선택하는 것에 대한 상금은 없습니다. 더 좋은 선택은 팀이 일관되게 강제할 수 있는 선택입니다. 대부분의 제품 코드베이스에서, 그것은 광범위한 접근 경계와 예외인 소유권, 테넌트, 또는 장치 상태와 같은 대상에 대한 표적 속성을 사용하는 RBAC입니다.
OAuth 2.0 흐름의 구조
OAuth 설명이 너무 오랫동안 추상적이면 실제 앱에서 시퀀스가 중요합니다. 특히, Capacitor와 같은 공개 클라이언트나 Electron 앱은 클라이언트 비밀을 안전하게 유지할 수 없습니다.
사용자가 로그인 버튼을 탭할 때
Capacitor 앱을 열고 “GitHub 로그인” 버튼을 탭합니다. 앱은 PKCE code 검증자와 code challenge를 생성한 후 사용자를 인증 서버로 시스템 브라우저 또는 안전한 브라우저 탭으로 보냅니다. 앱은 또한 상태를 포함하여 요청을 시작한 요청에 해당하는 응답을 확인할 수 있도록 합니다.

인증 서버에서 사용자는 필요한 경우 로그인하고 요청된 접근 권한을 승인합니다. 서버는 인증 코드 code를 반환하고, 사용자에게 직접 사용할 수 있는 긴 수명 인증 정보가 아닌 것을 반환합니다. 앱은 구성된 리다이렉트 URI를 통해 code을 받습니다.
The app then exchanges the code for tokens. PKCE is critical in this process. The app sends the original code verifier along with the authorization code. The server compares it against the earlier code challenge. If they match, the token exchange succeeds. If someone intercepted the code but doesn’t have the verifier, the exchange fails.
PKCE는 네이티브 및 하이브리드 클라이언트에서 필수입니다. 이러한 앱은 공개 클라이언트입니다. 공격자가 패키지를 검사하거나 code 경로를 역공학하거나 로컬 상태를 조작할 수 있다고 가정해야 합니다. PKCE는 리다이렉트 기반 흐름에서 가장 일반적인 위험 중 하나를 줄입니다.
code 구현을 위한 시각적인 리프레시를 원한다면 다음 단계를 따라보세요:
플랫폼 간 앱이 일반적으로 깨지기 때문입니다.
프로토콜은 간단합니다. 구현은 그렇지 않습니다.
Capacitor 앱은 일반적으로 다음 중 하나의 위치에서 실패합니다:
- 시스템 브라우저 대신 웹뷰를 사용하여 로그인 보안 경계를 약화시키고 쿠키 동작이 불일치하게 만들 수 있습니다.
- 브라우저에서 앱이 다시 시작될 때 리다이렉트 상태를 잃어버리다. 브라우저 스토리지에 토큰을 평문으로 저장하는 경우
- 프로젝트가 웹 앱으로 시작되었고 팀이 모바일을 위해 저장소에 다시 방문하지 않았기 때문입니다. Electron 앱은 다른 문제를 가지고 있습니다. 팀은 종종 렌더러 프로세스가 너무 많은 인증 로직을 처리하고 IPC를 통해 토큰을 노출하는 경우가 있습니다. 또는 데스크톱 앱을 신뢰할 수 있는 환경으로 다루는 경우가 있습니다. 아니다. 패키징된 데스크톱 앱은 적대적인 클라이언트의 마음가짐이 필요합니다.
리프레시 동작도 의도적인 디자인을 deserve합니다. 액세스 토큰은 만료되어야 하며 세션은 깨끗하게 복원되어야 하며 리프레시 로직은 여러 동시 요청에 대한 경쟁 조건을 만들지 않아야 합니다. 이
안전한 토큰 리프레시 흐름 가이드 인증을 위한 앱 구현을 개선하는 방법 __CAPGO_KEEP_0__ 앱은 일반적으로 다음 중 하나의 위치에서 실패합니다:
한 가지 구현 습관이 가장 많이 도움이 되는 습관입니다. OAuth handshake를 작은 인증 모듈에 고정하고 명시적인 입력 및 출력을 유지하세요. Redirect 처리, 토큰 파싱 및 갱신 로직을 컴포넌트, 훅, 그리고 랜덤 네트워크 유틸리티에 흩어지지 않게 하세요.
보안 위협 및 필수적인 베스트 프랙티스
인증 오류는 code 리뷰에서 극적인 모습을 보이지 않습니다. 그들은 편리함을 나타냅니다. 범위가 넓은 곳, 캐시된 토큰, UI가 버튼을 숨기 때문에 서버 확인이 빠져 있는 곳 등이 있습니다. 그런 다음 앱이 출시되고 그 짧은 단축키가 공격 표면이 됩니다.
실패하는 패턴
모바일 생태계는 유용한 경고 신호를 제공합니다. DeepStrike의 모바일 보안 통계에 따르면 테스트된 모바일 앱 중 95%가 최소한 하나의 OWASP MASVS 제어와 관련된 인증 및 인증 오류를 실패했습니다., 및분석된 모바일 앱 중 85%가 보안 취약점을 포함했습니다. . 보안 마케팅의 프레임을 모두 받아들이지 않더라도 핵심 신호를 진지하게 받아들이는 것은 필요합니다. 인증 오류는 일반적입니다.인증 보안 체크리스트를 설명하는 인포그래픽입니다. 디지털 애플리케이션 접근 제어를 유지하기 위한 9가지 필수적인 관행을 설명합니다.

The patterns are familiar:
- 누출된 토큰 안전하지 않은 저장소, 로그, 충돌 보고서 또는 렌더러 접근 가능한 상태에서
- 넓은 범위 모든 것을 요청하는 것이 시간이 지남에 따라 동의를 발전시키는 것보다 더 쉬운 경우
- 앱 내부에서 강제 API가 아직도 이를 허용하고 있지만 앱이 비인증된 동작을 숨기는 경우
- 재생 및 리다이렉션 공격 상태, PKCE 또는 리다이렉션 URI 검증이 느슨한 경우
- 권한의 이탈 팀이 역할과 예외를 추가하고 정기적인 검토가 없는 경우
백엔드가 모든 보호된 액션에서 인증을 확인하지 않는다면, 앱 인증이 아닌 UI 힌트만 가지고 있는 것입니다.
실용적인 체크리스트로 유지
권한이 제한된 기본 설정을 사용하고 나중에 청소 작업으로 사용하지 마세요. 실제 프로젝트에서는 각 토큰의 기능을 줄이고, 각 토큰이 존재하는 위치를 줄이고, 각 자격 증명이 유용한 기간을 줄이는 것을 의미합니다.
- 좁은 범위의 권한을 요청하십시오: 사용자가 현재 사용 중인 기능에 필요한 권한만 요청하십시오. 앱이 동의를 미루어도 그럴 수 있습니다.
- 서버에서 강제하십시오: 클라이언트를 신뢰하지 마십시오. 버튼, 경로, 숨겨진 화면은 보안 경계가 아닙니다.
- 플랫폼 보안 저장소를 사용하십시오: 모바일에서 네이티브 키 체인 또는 키 스토어 접근을 플러그인으로 사용하여 평범한 로컬 저장소 대신 사용하십시오. 데스크톱에서는 sensitive 자료를 쉽게 렌더링할 수 있는 범위에서 유지하지 마십시오.
- 상태와 리다이렉트 처리를 검증하십시오: 인증 응답은 앱이 시작한 요청과 일치해야 합니다.
- 적극적으로 만료하고 신중하게 갱신하십시오: 단기적인 액세스 토큰은 유출 시 피해를 줄입니다. 갱신 논리는 깨끗하게 회전하고 폐쇄되도록 실패해야 합니다.
- 필요할 때 취소하십시오: 세션 종료 및 사고 대응에는 토큰 무효화 및 강제 재인증 기능이 포함되어야 합니다.
- 입력 검증 및 전송 보호: HTTPS, 적절한 경우 인증서 고정 및 입력 검증 모두 중요합니다. 왜냐하면 인증이 인접한 약점을 통해 우회될 수 있기 때문입니다.
스토어를 통해 앱을 배포하는 팀에게는 인증 설계도 API 노출 및 규정 준수 검토와 교차합니다. 이 API 앱 스토어 규정 준수 보안 표준의 요약은 인증 목록과 잘 어울립니다. API 보안 표준의 요약 최소 권한이 내부 도구에도 적용됩니다. 관리자 패널, 지원 콘솔 및 스테이징 앱은 일반적으로 가장 느슨한 제어가 있는 곳이지만 가장敏감한 동작을 노출하는 곳입니다.
__CAPGO_KEEP_0__ 및 Electron 구현 패턴
플랫폼 간 앱 인증이 더 쉬워질 때가 왔습니다. 앱이 브라우저와 추가 패키징만 있는 것처럼 생각하지 마세요. Capacitor 및 Electron 모두 native 스토리지, 프로세스 경계 및 리다이렉트 처리를 존중하는 패턴이 필요합니다.
Capacitor 개발자

Capacitor를 사용할 때, 시스템-브라우저 OAuth와 PKCE를 지원하는 플러그인 또는 인증 라이브러리를 사용하고, 적절한 깊이 링크 또는 앱 링크 콜백을 사용하세요. 라이브러리들 중
Capacitor 패턴 capacitor-oauth2 code를 제거할 수 있지만, 토큰 저장 및 갱신 동작을 명시적으로 유지해야 합니다.
실용적인 구조는 다음과 같습니다.
- 인증 코디네이터: 로그인 시작, 상태 추적, 콜백 처리.
- 토큰 서비스: 네이티브 보안 저장소에서 토큰을 저장하고 브라우저 저장소에서 저장하지 않습니다.
- API 클라이언트: 액세스 토큰을 첨부하고 갱신 시 다시 시도하고, 회복 불가능한 실패 시 강제 로그아웃합니다.
- 정책에 대한 백엔드: 토큰 클레임을 서버측 인증 검사에 매핑합니다.
또한 하이브리드 앱 라이프사이클에 맞는 세션 도구가 필요합니다. 세션 관리 Layer를 평가하는 경우 __CAPGO_KEEP_0__의 보안 세션 관리 플러그인 Capacitor 인증을 위한 좋은 방법은 여러 가지 접근 방식을 비교하는 것입니다.
A minimal token-refresh shape in pseudocode looks like this:
async function authorizedFetch(request) {
let token = await tokenStore.getAccessToken()
let response = await api(request, token)
if (response.status !== 401) return response
const refreshed = await auth.refresh()
if (!refreshed) {
await auth.signOut()
throw new Error('Session expired')
}
token = await tokenStore.getAccessToken()
return api(request, token)
}
중요한 부분은 구문이 아니라, 모든 화면이 자체 세션 동작을 만들지 않도록 토큰을 중앙에서 갱신하는 것입니다.
Electron 패턴에 필요한 특별한 주의
Electron은 더 엄격한 경계를 필요로 합니다. 토큰 교환과 안전한 저장은 가능한 한 메인 프로세스에서 유지하고 렌더러에 대한 좁은 IPC 메소드를 노출하는 것이 좋습니다. 렌더러에게 raw 토큰을 전달하고 그것이 올바르게 행동하는 것을 기대하는 것은 피해야 합니다.
데스크톱 앱은 모바일 앱보다 더 통제가 가능하다고 느끼는 경우가 있습니다. 그 느낌을 위험으로 간주하는 것이 좋습니다.
이러한 단축키를 피하세요:
- 렌더러에 접근 가능한 로컬 스토리지에 토큰을 저장하지 마세요. 만약 피할 수 있다면.
- 모든 창이 광범위한 인증 컨텍스트를 공유하지 않도록 하세요. 창의 목적과 세션의 수명이 확인된 후에.
- preload 스크립트에 대한 과도한 신뢰를 하지 마세요. 프로세스 격리와 명시적인 API 경계를 대신하는 대안입니다.
운영 관리의 가시성도 중요합니다. Splunk가 제공하는 애플리케이션 보안 요구 사항의 개요에 따르면, 애플리케이션 인증을 지속적인 활동 모니터링과 로깅과 통합해야 합니다. 그곳에서 인용된 벤치마크 데이터에 따르면, 로그와 모니터링을 통해 권한 부여 이벤트를 미리 예방하는 조직은 15분 이내에 95%의 비인가 접근 시도를 감지할 수 있습니다. . 실제로, 거부된 동작, 토큰 갱신 실패, 역할 변경, 동의 취소, 그리고 이상한 리소스 접근 패턴을 로깅해야 합니다.만약 여러분의 릴리즈 프로세스에 하이브리드 앱 업데이트가 포함된다면, 이 생태계에서 하나의 옵션은 __CAPGO_KEEP_0__입니다. __CAPGO_KEEP_0__는 signed live updates를 제공하는 Electron 앱과 함께 사용할 수 있습니다. 하지만, 인증을 구현하는 것은 아닙니다. 하지만, auth logic, redirect handling, 또는 session __CAPGO_KEEP_1__이 급히 수정해야 하는 경우, 빠르게 배포할 수 있습니다.안전한 애플리케이션 인증의 길
좋은 애플리케이션 인증은 단 하나의 결정이 아닙니다. 모든 결정이 함께 작동해야 합니다. 사용자를 올바르게 인증하고, 필요한 접근만 요청하고, 안전한 흐름인 OAuth 2.0 with PKCE를 통해 토큰을 교환하고, 비밀을 올바른 위치에 저장하고, 서버에서 권한을 강제로 적용해야 합니다. Capgo, which provides signed live updates for Capacitor and Electron apps. That doesn’t implement authorization for you, but it does affect how quickly you can ship fixes when auth logic, redirect handling, or session code needs urgent correction.
권한이 부여된 사용자만 앱의 특정 리소스를 사용할 수 있도록 하세요.
권한이 부여된 사용자만 앱의 특정 데이터를 사용할 수 있도록 하세요.
Capacitor와 Electron 팀의 가장 중요한 부분은 가장자리에서 discipline입니다. 브라우저 시대에 사용하던 단축키는 native storage, deep links, 데스크톱 프로세스 경계, 또는 앱 리뷰 요구 사항과 접촉하면 살아남지 못합니다. 문제를 피하는 팀은 보통 anything 특별한을 하지 않습니다. 그들은 단지 scope, 세션 처리, 서버 측 검사, 및 감사성에 대해 일관적입니다.
현재 인증 설정이 꼬여 보이면, 그건 정상입니다. 시작하기 전에 한 번에 한 경계를 단단하게 하세요. 흐름을 고치세요. 저장소를 고치세요. UI에서 접근 규칙을 제거하세요. 누가 무엇을 요청했는지 알려주는 로깅을 추가하세요.
그것이 보안 앱 인증이 관리가 가능한 이유입니다. 이론적으로 더 단순하지 않습니다. code에서 더 안전합니다.
Capgo은 Capacitor와 Electron 앱에 대한 수정 사항을 저장소 리뷰 없이 배포할 수 있도록 도와줍니다. 인증 흐름, 토큰 처리, 또는 세션 버그를 빠르게 수정해야 할 때 중요합니다. 팀이 크로스 플랫폼 릴리스에 대한 더 chặt한 제어, 목표된 롤아웃, 및 롤백 지원을 원한다면 Capgo __CAPGO_KEEP_0__