티스토리 뷰

iOS

[iOS 구글 로그인] GoogleSignIn -iOS 6.2.0 소식

꿀벌의달콤한여행 2022. 3. 21. 01:28

6.2.0 마일스톤(https://github.com/google/GoogleSignIn-iOS/milestone/3)

결론: 구글 로그인 요청하는 순간에 요청 권한 범위를 설정할 수 있게 하는 기능이 GoogleSignIn-iOS 6.2.0에 추가될 예정.


iOS 구글 로그인, GoogleSignIn-iOS 프로젝트는 6.0.0 버전을 기점으로 오픈소스로 전환되었습니다. 그런데 동시에 사용자에게 추가 권한을 요청할 때 Incremental authorization pattern을 권장하게 되면서 기존과는 다른 사용자 경험이 생겼습니다.

 

이전에는 구글 드라이브를 앱 내에서 사용하기 위해 구글 로그인을 시도하면, 로그인과 동시에 기본적인 권한(이메일, 아이디 등) + 드라이브 읽기 권한을 동시에 요청할 수 있었다면, Incremental authorization에서는 구글 로그인 후 기본적인 권한을 획득 한 후에 다시 추가적인 권한을 요청하도록 바뀌었습니다. 그래서 구글 로그인 화면(iOS 앱 내에서는 모달로 띄워지는 뷰)이 두 번 띄워져야 했습니다.

 

'필요한 시점에 필요한 권한을 점진적으로 요청'하는 이러한 패턴은 현재 구글이 권장하는 패턴입니다. 이런 관점이 이해는 됩니다. 예를 들어 어떤 앱은 키자마자 위치 권한, 알림 권한, 뭐 권한 두루루룩 시작부터 물어보는데 이러면 사용자로선 뭐가 정말로 필요한 건지 이해가 안되니, 필요한 순간에 점진적으로 권한을 요청하는 게 맞다고 보는 거죠(애플도 이와 유사하게, 디바이스 권한을 요청할 때는 사용자가 관련된 기능을 사용하려 하여 그 권한이 정말로 필요할 때 권한을 요청하라고 언급하고 있습니다).

 

히지만 추가 권한이 필요한 구글드라이브, 캘린더 등이 앱의 핵심기능인 경우 구글 로그인 후에 바로 추가적인 권한 요청을 위해 모달뷰가 바로 다시 사용자에게 보여진다는 게 문제가 되었습니다(최초 구글 로그인 모달뷰 띄워지고 내려갔다가, 바로 드라이브, 캘린더 등의 추가 권한 요청을 위해 다시 모달뷰가 띄워짐). 추가 권한이 필요한 부분이 앱의 핵심 기능인 경우, 이러한 흐름은 사용자 경험을 해치는 부분입니다.

 

6.0.0 버전부터는 이것이 선택이 아니라 필수가 되어버린 게  아쉬웠던 부분이었습니다. 저는 이 문제를 해결하기 위해, 로그인 요청시 권한 범위를 선택해서 요청할 수 있도록 다른 개발자가 수정한 코드암기빵 프로젝트에 사용하였습니다(이 PR은 GoogleSignIn-iOS 6.2.0에 반영되어 출시될 예정). 전에 이를 다룬 포스트를 올렸습니다.

 

그런데 최근에 드디어! 이 문제가 해결된다는 소식이 들렸습니다.

https://github.com/google/GoogleSignIn-iOS/issues/23#issuecomment-1061230684

대강 글을 보면

1) incremental authorization pattern 은 계속 권장될 것임

2) 하지만 어떤 경우에는 사용자 경험이 안 좋아지는 걸 이해함

3) 6.2 릴리즈에 로그인 요청 시 권한 범위를 같이 요청할 수 있는 기능을 추가할 예정

 

그러니 구글 로그인 시 추가 권한 요청을 원하신다면 6.2.0의 릴리즈를 기다리거나, 이 PR을 참고하여 직접 코드를 수정하여 사용하시면 되겠습니다.

 

추가로, 이 문제가 다뤄진 이슈를 읽어보면 재밌습니다.

 

Incremental authorization pattern이 필수가 아니게 된다는 게 기쁘네용 호호. 당시에는 이거 때문에 바둥바둥거렸었는데...

댓글