2017-03-14 4 views
0

이 질문의 일반적인 성격에 사과드립니다. 이것을 기대하는 것은 "너무 광범위하다"는 말은 아니지만, 여기에 간다.네이티브 API 인증에 대응 : 사용자 이름/비밀번호가 필요하지 않습니까?

나는 순수한 정보 (의료 정보) 인 React Native 앱을 쓰고 있는데, 종료.

내가 가진 첫 번째 주요 질문은 인증을 사용하는 데 필요한 (또는 좋은 아이디어인지) 여부입니다. 우리는 사용자가 그것을 사용하기위한 정보 (사용자 이름, 암호 등)를 입력하지 않아도되도록하고 있습니다. 그들은 단지 앱을 다운로드하여 바로 사용할 수 있어야하며 앱을 사용하고 제공되는 정보를 읽을 수 있어야합니다.

그러나 나는 최소한 API가 React Native 앱 내에서 누군가에게 반응하는 것만을 원한다고 생각하고있다. (그렇지 않은가? 그렇지 않은가? 이와 같은 앱은 순수한 정보이며 웹 사이트 같은 사용자가 없습니까?)

둘째로, 어떤 시점에서 우리는 해당 사용자 (IE)에 대한 간단한 기본 설정을 저장할 수 있기를 원합니다. 환자 또는 의사에게 연락하십시오. 따라서 자료를 기반으로 자료를 만들거나 앱을 열 때 다른 홈 화면으로 보낼 수 있습니다. 사용자가 계정을 만들지 않으면 간단한 기본 설정을 저장하는 데 어떤 전략을 사용할 수 있을지 궁금하십니까?

답변

1

적어도 API가 React Native 앱에서 이라고 치는 사람에게만 응답하도록합니다.

모바일 앱처럼 모든 사람이 클라이언트 비공개로 액세스 할 수 있으므로 코드를 리버스 엔지니어링 할 수 있습니다. 요청에 따라 동적으로 생성 된 토큰 (예 : 시간 프레임을 기반으로하는 해시)을 API에 보내고 해시가 올바른 방식으로 전송되었는지 확인할 수 있습니다. 그런 다음 누군가가 코드를 리버스 엔지니어링하지 못하도록 코드를 난독 화해야합니다.

둘째 - 우리가 해당 사용자 (IE에 대한 몇 가지 간단한 환경 설정을 저장할 수 있도록 할 수 있습니다 어떤 시점에서, 그들은 환자 또는 의사, 그래서 우리는 그 기반으로 자료를 조정할 수 있습니다/보내 다른 집에 화면을 열 때 앱을 엽니 다.) 사용자가 계정을 만들지 않으면 간단한 전략 설정을 저장하기 위해 어떤 전략을 사용할지 궁금합니다.

Parse Server 인스턴스를 백 엔드로 사용하는 경우 익명 사용자 기능의 이점을 누릴 수 있습니다. Rails API를 사용할 때마다 앱을 설치할 때마다 uuid를 생성하고 해당 uuid를 기반으로 데이터베이스에 환경 설정을 저장할 수 있습니다. 백엔드에 저장된 기본 설정이 필요하지 않은 경우 AsyncStorage의 추상화를 통해 필요한 정보를 장치에 저장하면됩니다.

+0

위대한 포인트. 고맙습니다! – gregblass

0

실제로 인증이 필요하지 않습니다. 사용자가 없습니다.

사용자 에이전트 또는 하드 코딩 된 비밀번호를 기반으로 내 앱에서 데이터가 전송되는지 확인할 수 있습니다. SSL은 그 비밀 유지에 도움이됩니다.

그래, 누군가가 앱을 분해하고 그 정보를 얻지 못하도록 막을 수는 없습니다. @ felipe-martim이 동적 토큰 생성에 대한 훌륭한 아이디어.

나는 단지 기본적인 학대를 막으려 고하고 있으며, 그런 일이 발생하면이를 처리하거나 랙 공격과 같은 것으로 스스로를 보호 할 수 있습니다.

사용자 환경 설정을 로컬에 저장하는 것이 로컬 환경 설정에 잘 작동해야합니다.

최종선은 고객 예산이 허용하는 경우이 문제를 해결해 드리겠습니다.