각종 어플들 사용하다보면 인증번호입력할 일이있습니다.
전에는 안드로이드는 어플이 문자권한을 받아 자동입력해서 엄청 편했지만 아이폰은 보안때문에 안됐었죠.
최근에 아이폰은 문자를 키보드가 읽어서 어플에 자동입력해주는 기능이 생겨서 좋아했습니다.
다시 안드왔는데 보안때매 어플이 가진 문자권한이 다 빠져서 자동입력이 안되네요.
결론은 아이폰 승이네요.
이런날이 올줄이야.. 몰랐습니다.
이미지출처: https://www.clien.net/service/board/cm_iphonien/12191596CLIEN
애플이 이런 생각을 했다는거에 엄청 놀랐고요.
어플이 문자권한을 갖는게 아닌 시스템(키보드)이 가져서 입력해주는 방식.
보안+편리성 다 해결한거라서요!
그냥 안드가 문자 키입력에서 보안이 강화된거죠
아이폰에서 키보드가 문자를 읽는다해도 어떤 문자영역을 스캔해서 키입력 해줄지는 앱이 컨트롤해줘야죠
기본앱의 경우는 애플 시스템이기 때문에 괜찮겠지만 기본앱만 써야하는 제약이 생기죠
인증번호가 들어가있는 문자가 오면 ios키보드가 인증번호를 기본 키보드에 띄우고요. 사용자가 인증번호를 입력할 곳을 직접 지정한 뒤 기본키보드에 뜬 숫자를 누르면 그 위치에 숫자가 입력되는 방식입니다..
예를들어 이름쓰는란에다가 키보드에 뜬 숫자를 누르면 이름란에 인증번호가 입력됩니다.
ios는 안드로이드를 향해서 달려가는 느낌..
뭔가 버그가 있는게 아닌 이상 기존 앱이 그대로 돌아갑니다..
알려진 방법이 이것뿐이라면 이걸 쓰면 되는데
만약 여기에 사용 불가능할 정도의 결함이 있다면
당연히 얘기가 달라질테니까요.
/Vollago
그냥 자동으로 처리하는거예요.
근데 어플 만들 때 대응을 해야죠.
대략 이런 거...
그냥 권한에 맞춰서 살짝만 바꾸는 거죠.
사용자 입장에서는
1) 문자 자동입력이 모든 앱에서 가능한 애플, 개발자 대응 불필요
2) 비지니스 항목에 맞는 어플 중 개발자가 구글승인을 받은 앱만 기능한 안드로이드
당연히 1번 아닌가요.
인증문자만을 읽기 위해서 전체 SMS를 읽는 건 과한 권한이니까요. 대신 인증문자'만' 읽는 API를 새로 만든 거죠.
인증번호가 오면 키보드에 숫자가뜨고, 입력할곳을 사용자가 지정한뒤 숫자를 누르면 자동입력되는게 범용성이 높은거잖아요. 혹시 제가 이해 잘못한부분이 있나요?
지금 심사 어쩌구.. 반복하고 계시는 이야기는 기존 'SMS 전체 읽기 권한' 이야기 하고 계시는 거구요.
SMS 전체 읽기 권한은 인증번호만을 처리하기엔 너무 과한 권한이니
앞으로 이 권한은 문자 어플에만 허용해주겠다는 겁니다. '주요비즈니스모델'이 문자인 어플요.
SMS로 인증문자만을 받고 싶을 땐, 그냥 구글이 새로 만든 인증번호 전용 API 쓰라는 거예요.
이러면 어플이 문자를 읽지 않아도 되니까요. 보안 문제가 없죠.
현재 자동입력 안되는 어플들은 개발자가 대응을 안한거네요. 하지만 어쨋든 개발자가 인증문자관련api 대응을 해야하는 상황은 불변이군요.심사는 필요없지만 대응은 필요. 애플은 대응 필요없이 입력가능한것도 사실이고요. 이런부분에서 저는 애플방식이 좋다고 느끼고있는거구요.
안드로이드는 기존에도 SMS권한을 이용해 인증문자 자동처리를 구현했고, 새로 생긴 API 역시 자동으로 처리되도록 만들어졌죠.
어차피 특정 권한에 대한 구현은 개발자가 당연히 하는 것입니다. 이용자는 구현된 결과물이 편하면 그만이구요.
예를 들어 현재 위치를 보여주는 어플이 있을 때, 위치 권한을 직접 얻어서 바로 보여주는 것과, 위치 입력받는 폼을 띄우고 키보드에 위치 좌표가 자동으로 떠서 입력 버튼을 누르는 것을 생각해본다면, 전자가 사용성이 좋겠죠?
나중에 ios도 인증문자만 처리하는 API 생길 거라고 봅니다.
안드로이드는 10년간 써오던 방식이 최근에 갑자기 막힌 겁니다. 잘 되던 걸 막았으니 각 개발자들의 대응을 기다려야 하는 상황이죠.
자동으로 다 처리하던 방식이 사라진 지금만 경험하신 것은, '안드로이드의 방식'이 불편한게 아니라, 지금의 과도기가 불편한 겁니다..
요즘 보니 어플 개발자들이 신 api 적용하기까지 시간이 걸리니, 아예 폰 제작사 측에서 과도기 기간에 쓰라고 문자에 인증 코드 오면 클립보드로 코드만 복사하는 기능 넣긴 하더군요.
물론 이 역시 과거 폰들은 적용 못받지만, SMS어플은 서드파티 어플로 바꿀 수 있으니, 과거 폰들은 인증문자 자동복사 기능이 있는 SMS어플 쓰면 이 과도기를 버티기에 좀 나을 겁니다.
여튼 잘 쓰던 기능들이 갑자기 빠지면 다 그런거죠.
궁금한 점은,
예를들어 기본 삼성브라우저에서 db손해보험다이렉트 보험료 조회를 할 때에는 인증번호 자동입력이 안되는데 이것도 삼성이 삼성브라우저 어플에 api도입을 안 해서 나타나는 현상으로 이해하면 되는건가요? 이와같은 경우에는 무슨짓을해도 아이폰 방식 아니면 입력이 안 될것같아서요.
pc에서 이용하는 것처럼 웹으로 구현된 인증 서비스를 이용하셨다는 것 같군요.
웹브라우저가 SMS를 안받아주는 현상은...
애초에 브라우저는 웹 컨텐츠 내의 SMS인증 시스템과 연동한 적이 없습니다.(...)
안드로이드 시스템에 들어오는 이벤트를 웹페이지가 읽는다는 건, 너무 선을 넘는 권한이고 (그래서 안됩니다.)
그래서 기존에도 웹브라우저는 SMS 읽기 권한을 소유한 적이 없어요. 넘겨줄 일이 없기 때문이죠.
그와 같은 경우는 그냥 순전히 받아서 적거나, 위에서 말한 과도기의 땜빵 기술(-_-)인 sms에서 인증코드만 자동으로 복사해오는 기능을 활용해야죠.
참고로 앞으로 개발자들이 적용할 API는 https://developers.google.com/identity/sms-retriever/overview 여기서 확인해보실 수 있구요.
그리고 최근 작성된 게시물을 보니, 안드에서 sms 인증코드 읽어주는 키보드 어플 만들어달라고 하신 것 같은데,
이 사태의 원인을 아신다면, 그것은 불가능합니다.
사실 ios의 코드 복사하면서, 키보드 위에 띄우는 방식은 정말 절묘한 맞물림이예요.
ios는 서드파티 키보드를 쓰더라도 기본 키보드를 메모리에서 내리지 않고, (즉 키보드 2개가 동시에 실행되고, 심지어 기본 키보드가 우선됩니다. 이러니 서드파티 키보드가 가끔 로딩이 안되어 있어서 키보드 여는 순간 로딩 딜레이가 걸리기도 하죠. 이거 답답해서 기본키보드 쓰기도 하는..-ㅁ-)
서드파티 키보드를 단독으로 실행하는 대신, 기본 키보드의 프레임 안에 가둬두고 실행하기 때문에
기본 키보드의 기능이 서드파티 키보드 위에서 돌아갑니다. 그냥 원한다면 ios 하고 싶은대로 기능키를 띄우고, 비밀번호 폼이 나타나면 아예 서드파티 키보드를 죽여버리기도 하죠.
하지만 안드로이드는 키보드가 sms를 직접 읽어야 하는데, 지금 이 사태는 [SMS 어플이 아니라면 SMS 권한을 주지 않겠다] 라는 보안정책이라서, 키보드가 sms권한을 가질 순 없는 거죠.
대신 안드의 sms어플은 당연하게도 sms 권한을 가집니다. 그리고 이미 원하시는대로 sms에서 인증코드만 자동으로 복사해오는 sms어플이 있어요. 최근 s10 제조사 펌웨어도 보니, 삼성은 아예 이 기능을 자체적으로 넣었더군요.-_-;;
여튼 정 원하시면 sms어플을 바꾸는 방법으로 간편복사를 하시면 됩니다. 클립보드 빨리 붙여넣는 정도는 키보드 어플들이 이미 지원하니까요.
one ui 3에서 인증번호 받을 일이 있었는데, 제가 쓰는 gboard는 반응 안하더군요. 사실 one ui는 2 시절부터 노티바에 문자 인증번호만 복사하는 버튼이 추가로 생기기도 했고...
그리고 사실 요즘 어플은 정말 레거시 어플 업데이트 안하고 버티는게 아닌 이상 자동 SMS인증 API 다 사용하더라구요.