loginWithNewScopes method
- List<
String> scopes, - {String? nonce}
사용자가 아직 동의하지 않은 개인정보 및 접근권한 동의 항목에 대하여 동의를 요청하는 동의 화면을 출력하고, 사용자 동의 시 동의항목이 업데이트 된 OAuthToken
발급
발급된 토큰은 TokenManagerProvider에 지정된 토큰 저장소에 자동으로 저장됨
scopes
로 추가로 동의 받고자 하는 동의 항목 ID 목록을 전달함
카카오디벨로퍼스 동의 항목 설정 화면에서 확인 가능
ID 토큰 재생 공격 방지를 위한 검증 값은 nonce
로 전달. 임의의 문자열, ID 토큰 검증 시 사용
Implementation
Future<OAuthToken> loginWithNewScopes(List<String> scopes,
{String? nonce}) async {
String codeVerifier = AuthCodeClient.codeVerifier();
final authCode = await AuthCodeClient.instance.authorizeWithNewScopes(
redirectUri: KakaoSdk.redirectUri,
scopes: scopes,
codeVerifier: codeVerifier,
nonce: nonce,
webPopupLogin: true,
);
final token = await AuthApi.instance
.issueAccessToken(authCode: authCode, codeVerifier: codeVerifier);
await TokenManagerProvider.instance.manager.setToken(token);
return token;
}