- 관련 상품
- 2026년 9월 23일 오전 2:58 UTC
- 이름 *
- Kamo
- 뚱 베어
- 78c4a87
/api/email/oauth/callback 및 ****************는 공개 및 세션리스 (the 공급자는 Kamo 세션없이 브라우저를 리디렉션합니다), 그래서 `state`는 단지 장소 조직은에서 올 수 있었다 — 그리고 그것은 self-describing base64 JSON CALLER 내장: {"orgId": 1, "nonce": "...", "provider": "GOOGLE WORKSPACE"}. 누구나 손으로 만들 수 있습니다. 다른 org와 그들이 자신의 얻은 허가 코드에 대하여 재생; "nonce" 내부는 생성되었지만 저장되지 않았거나 아무것도 검사하지 않았다. 그래서 아무것도 멈추지 않는다. 더 보기 callback 신뢰할 수 있는 orgId/provider/memberId는 그것을 해독하고 연결해 활성화했습니다 org 의 상태에 대한 공급자. OAuthStateStore는 opaque를 축소하고, `issue`의 unguessable 토큰은, org/member/provider/를 유지 Redis 레코드 만 10 분 TTL - 토큰 자체에 절대로 흐릅니다. `peek`는 그것을 소비하지 않고 레코드를 읽습니다 (리디드 URI를 선택하고 흐름 전에 콜백은 핸들러에 커밋합니다. `consume`는 읽고 영구적으로 삭제합니다. 그래서 콜백은 단일 용도 : 재생 또는 재사용 된 토큰은 아무 것도 해결하지 못합니다. 현재 위치 OAuthFlowService 및 GroupwareOAuthService - blob를 구축하고 해독하는 데 사용되는 독립적으로, 같은 메커니즘의 자체 사본과 각각 - 이제 모두 민트와 redeem 토큰 이 상점을 통해서, 그래서 어떤 국가 토큰이 의미하는지 결정하는 정확히 한 장소가 있습니다. OAuthStateStoreTest는 수정 없이 실패합니다 (같은 토큰의 두번째 소모는 아직도 돌려보냅니다 null 대신 기록); OAuthFlowServiceTest, OAuthFlowKindStateTest 및 GroupwareOAuthServiceTest 새로운 메커니즘에 대한 업데이트 - 그들은 더 이상 구축하거나 직접 국가 blob를 디코딩하지 않습니다, 이후 암호가없는 것은 없습니다.
