loginWithNewScopes method Null safety
사용자가 아직 동의하지 않은 개인정보 및 접근권한 동의 항목에 대하여 동의를 요청하는 동의 화면을 출력하고, 사용자 동의 시 동의항목이 업데이트 된 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(
scopes: scopes, codeVerifier: codeVerifier, nonce: nonce);
final token = await AuthApi.instance
.issueAccessToken(authCode: authCode, codeVerifier: codeVerifier);
await TokenManagerProvider.instance.manager.setToken(token);
return token;
}