2014-11-03 4 views
0

우리 앱이 이미 IntAuth에서 액세스 토큰과 비밀을 얻기 위해 oAuth를 구현하고 있으며 모든 것이 잘 작동합니다.oAuth : 요청 토큰이 현재 액세스 토큰을 무효화합니다

애플 리케이션 사용자가 여러 QBO 회사가있을 수 있습니다 걸립니다. 따라서 사용자가 한 회사에 대한 액세스 권한을 부여하려고 시도 할 때 Google 앱은이 회사가 이미 승인되었는지 여부를 확인한 후 앱이 사용자에게 알리고 회사 재 인증을 시도하지 않습니다.

우리가 구현 한 방식은 다음과 같습니다. 승인 프로세스가 시작되면 승인 된 회사 목록 (영역 ID)을 보내거나 적용합니다. 사용자는 "QuickBooks에 연결"버튼을 클릭하고 마법사를 따릅니다. 내부적으로 앱은 요청 토큰을 가져오고 액세스 토큰 요청을 할 준비가되었습니다. 요청 토큰 요청은 영역 ID를 가져와 이미 승인 된 회사 목록과 비교할 수 있습니다. 회사가 승인 된 경우 액세스 토큰을 요청하지 않고 회사에 이미 승인되었음을 알립니다.

일주일 전까지 최대 - i.e. 이 경우 앱이 액세스 토큰에 대한 요청을하지 않기 때문에 앱에있는 액세스 토큰은 여전히 ​​유효합니다. 그러나 이제는 앱이 요청 토큰을 가져 오면 액세스 토큰을 요청하지 않아도 기존 액세스 토큰이 더 이상 유효하지 않아 사용자가 회사를 다시 승인해야 할 필요가있게되었습니다.

oAuth 흐름 구현에서 변경된 사항이 있습니까?

감사

답변

0

의 OAuth 토큰은 180일 (bydefault) 유효합니다. 따라서 기존 토큰이 180 일 이상 경과되었는지 확인하십시오. 그렇다면 'reconnect api'를 사용하십시오.

참조 - https://developer.intuit.com/v2/docs/0050_quickbooks_api/0020_authentication_and_authorization/oauth_management_api#Reconnect

한 가지 제안 -

당신은 SSO 응용 프로그램 당신에 (마법사 '인튜이트로 로그인'사용) 구현할 수 있습니다. 그렇게하면 최종 사용자의 SSO URL을 회사의 OAuth 토큰과 연결하면서 앱의 db에 유지할 수 있습니다. 맨 처음 사용자는 C2QB 플로우를 통해 토큰을 생성합니다. 다음 번에 최종 사용자가 로그인 할 때마다 SSO 식별자를 사용하여 oauth 토큰을 검색해야합니다 (연결이 이미 설정된 경우 앱에 C2QB 대신 '연결 끊기'옵션이 표시되어야 함).

감사합니다.

관련 문제