0

OAuth Facebook 로그인을 사용하여 웹 사이트 (reactjs)와 앱 (반응 네이티브)이 있다고 가정 해 봅시다. 내 데이터베이스에 페이스 북에서 제공하는 액세스 토큰을 저장해야합니까? 그렇다면 사용자가 웹 사이트에서 Facebook에 로그인 한 다음 앱으로 다시 로그인 할 때 액세스 토큰은 어떻게됩니까?반응과 네이티브 앱에서 OAuth 사용에 혼란이 있음

새 로그인으로 액세스 토큰을 덮어 쓰 겠다는 의미입니까? OAuth 통합을위한 우수 사례에 대한 다른 제안 사항이 있습니까?

답변

0

두 번의 연속 로그인의 OAuth 토큰이 다릅니다. 나는 여전히 데이터베이스에 저장 하겠지만 사용자 봇과 1 : 1 관계는 1 : n이 아닙니다. 즉, 모든 사용자는 여러 개의 OAuth 토큰을 할당받을 수 있습니다.

OAuth에서는 토큰의 만료 날짜도 반환됩니다. 그걸 저장할 수도 있고 필요한 경우 테이블을 정리할 수도 있습니다.

다시 직접 가독성에 대한 대답 MongoDB를 들어

: 당신은 다음과 같이 사용자 컬렉션을 디자인 할 수 있습니다

{ 
    "_id": 42, 
    "username": "jeger", 
    "token": [ 
     {"value": "abc1234", "expiration": ...} 
     {"value": "bca4321", "expiration": ...} 
    ] 
} 

을 그리고

collection.find({"token.value": "abc1234"}) 
+0

와 페이스 북에 토큰을 검증 한 후 사용자를 검색, 웹 및 모바일 용 액세스 토큰 하나에 대해 데이터베이스에 2 개의 엔터티를 만들어야합니까? 고마워요. –

+0

2 개의 엔티티가 필요합니다. 하나는 사용자 용이고 다른 하나는 토큰 용으로 1 : n 관계입니다. 사용자는 여러 브라우저에서 로그인 할 수 있습니다. – jeger

+0

그래서 Mongodb의 관점에서 사용자를위한 두 가지 컬렉션과 토큰을위한 하나의 컬렉션? –

관련 문제