잡동사니

[Tasker] 메일 인증을 더 편하게... 본문

Tasker and Join

[Tasker] 메일 인증을 더 편하게...

승이75 2024. 7. 31. 16:24

SMS 인증의 경우에는 "내가 나"라는 확인을 시켜주는 방법으로 "나"에게 전송된 SMS 메시지 상의 특정 4~6자리 숫자를 회신해서 "나"임을 확인받게 되는 형태이다. 예전부터 이런 형태의 인증을 편하게 해보고자 tasker로 메크로를 만들어서 쓰고 있다.

 

https://seung275.tistory.com/182

 

[Tasker] 인증용 SMS에서 인증번호만 발라내서 클립보드에 자동으로 넣기 + 인증번호 타기기 클립보

사전 설치 필요 앱 : Tasker, AutoNotification(Tasker PlugIn), Join(by joaoapps) 진작에 이렇게 해놓고 쓸걸... 해놓고 보니 너무 편하고 좋다. 말그대로 인증용 SMS에서 인증번호 부분만을 클립보드로 자동으로

seung275.tistory.com

 

이런 방법을 쓰지 않는다면 PC에서 인증용 코드를 입력해야 하는 상황에서 인증용 메시지를 전화기로 요청하고 몇초후 전화기로 수신된 메시지를 눈으로 확인해서 PC에서 손으로 직접 타이핑을 해서 4~6자리 숫자를 입력하는 과정을 거쳐야 한다. 하지만 위 방법을 쓰면 PC에서 인증용 메시지를 요청하고 몇초후 그냥 인증 숫자 입력창으로 마우스 포커스를 옮기고 키보드로 Ctrl-V만 해주면 인증이 끝나게 된다. 

 

아직도 이런 SMS 인증이 많이 쓰이고는 있지만 최근에는 통신사 PASS 앱이라던지 카카오나 네이버 인증 등도 같이 쓰이고 있다. 이 중에서 아주 특이한 인증 방식이 메일로 이뤄지는 인증이다. 

 

최근에 메타퀘스트를 구매해서 가지고 놀고 있는데 안드로이드 메타앱에 로그인 하는 과정은 참으로 괴이하다. 보통은 id를 입력하고 그에 대응되는 암호를 입력해서 로그인 하는 과정일텐데 메타앱에서는 이메일 주소로 로그인을 시도하게 되면 암호에 해당하는 1회성 코드를 이메일로 발송해주고 사용자는 해당하는 이메일을 PC에서건 스마트폰에서건 열어보고 이 1회성 코드를 앱에 입력하는 식으로 로그인이 이루어진다. 매번 이런식으로 로그인을 해야 한다. 일상적인 로그인 행위가 거의 2단계 인증에 가깝다.

 

지금까지는 아무런 생각없이 그냥 메타엡에서 이메일 입력하고 메일 앱 열어서 메일오는거 기다렸다가 메일 열어서 코드 눈으로 확인하고 이걸 직접 입력하는 식으로 불편한 과정을 거쳐 로그인을 하고 있었다. Fold6으로 바꾸면서 Tasker를 다시 손보면서 이 과정을 좀 편하게 할 방법이 없나 찾아보고 해결책을 고안해냈다. 진작에 이런식으로 했어야 했는데 지금까지 뭔 짓을 해온건지......굳이 테스커를 안쓰더라도 메일 클라이언트 앱에서 안드로이드 알림이라도 잘 올라오게끔 해놨으면 그것만 이용했어도 메일앱 직접 열어서 메일 확인을 안해도 됐을텐데 ... -.-; 지금까지 허비한 시간들이 아까울 따름이다. T.T

 

아래에 설명하는 이 방식은 메일을 수신했을 때 스마트폰 알림창에 뜨는 이메일 수신 알림메시지에서 숫자로 이뤄진 인증코드만 분리해내고 이걸 스마트폰이나 또는 스마트 폰에 Join으로 묶여있는 전체 기기들의 Clipboard로 전송해주는 방식이다. 이렇게 하면 일전에 만들어서 쓰고 있던 SMS 인증과 동일하게 "직접 메일함을 열어서 눈으로 확인하고 손으로 입력하는" 일련의 과정이 필요없어진다. 그냥 잠깐 이메일이 수신되기를 기다렸다가 수신이 되었고 인증코드가 클립보드로 들어왔다는 메시지만 확인되면 로그인하고 싶은 기기에서 클립보드의 코드만 바로 Ctrl-V나 붙여넣기 등으로 입력하면 된다.  

 

구체적으로 아래와 같이 작업을 해주었다.

 

먼저 Task가 자동으로 동작하게끔 하는 조건을 지정하는 Profile을 만든다. 로그인하고자 하는 앱에서 입력하는 이메일 주소에 해당하는 메일 클라이언트앱을 확인한다. 이메일이 네이버 주소라면 네이버 메일 앱을 써도되고 또는 Outlook 같은 메일 클라이언트 앱을 써도 된다. 아래는 네이버 메일 앱의 수신 알림 메시지를 이용하는 Profile이다. AutoNotification Intercept를 이용하고 구체적인 입력 내용은 아래와 같이 구성한다.

 

 

 

 

대충 위 사진 참고해서 Configuration 값을 넣어주면 되는데 제일 중요한 부분이 Notification Text 부분이다. 네이버 메일로 일반적인 메일도 많이 올텐데 위에 작성할 Task가 실행될 조건인지 아닌지 판단하는 부분이 해당 Notification에서 저 Text를 포함하고 있는지 여부를 확인하겠다는 것이다. 따라서 여기서 작성한 "코드"라는 단어가 Notification에서도 반드시 포함되어야 한다. 보통 이런 단어들은 "인증", "코드", "OTP" 등이 될 것이다. 굳이 다르게 하자면 이 경우에는 위 두번째 사진에서도 보이는 문구인 "계정에 로그인하려면"과 같은 것도 Notification Text에 넣을 수 있겠다. 

 

Profile 부분은 이렇게 만들면되고 이에 연결되는 Task를 아래와 같이 만들어 준다. 구제척인 내용 중 대부분을 아래 사진에 나온것과 같이 taskernet.com에서 "otp"로 검색해서 나오는 첫번째 project를 사용하였다. 이걸 간단히 수정해서 SMS 인증용으로도 잘 사용하고 있다. PC가 아니라 스마트폰에서 taskernet.com으로 가서 아래 project를 연다음 import를 하면 간단히 해당 project를 내 tasker 앱으로 가져올 수 있다. 

 

아래는 위에서 설명된 Profile에 연결된 task들이다. 정확히 Profile에서 설정된 조건이 만족되면 email이라는 task가 구동된다 . Parse Email은 email 내부에서 호출되는 task이다. 

 

 

Parse Email 부분이다. 2번 Run Shell 부분이 젤 중요한 부분이다. grep -o -E '[0-9]+' 명령으로 메시지에서 숫자들만 분리된다. (다수)개의 숫자들은 6번 문장에서 %otp_suggestions 변수로 리턴된다. 3번 Flash는 임시로 분석된 코드를 debug용으로 확인할 수 있는 부분이다. 정상적으로 잘 작동되는걸 확인한 다음에 주석처리 해놓았다.  

 

email 테스크다. 4번 Perform Task에서 앞서 언급된 Parse Email 테스크가 수행된다. 전체 메시지에서 숫자부분들만 가져온다음 배열의 첫번째 요소인 %otp_suggestions1을 7번 문장에서 join으로 연결된 전체 devce의 clipboard로 다 전달시켜준다. 7번항에서 이 tasker를 수행하는 기기의 클립보드로도 %otp_suggestions1의 값을 넣어준다. 9번항은 별도의 AutoNotification 안드로이드 알림을 띄우는 내용인데 생략 가능하다. 

 

한가지 더 챙겨야할 문제가 이메일 수신 알림이 내 스마트폰으로 얼마나 빨리 뜨느냐의 문제다. 네이버 메일 앱은 별도의 조치가 없어도 메일이 전송되자마자 수초만에 Fold6의 알림창으로 메일 수신알림이 떳다. G메일로 오는 인증 알림에 대해서도 동일한 작업을 해두었는데 G메일은 이상하게 수신알림이 아주 늦게 뜨거나 영영 알림이 뜨지 않거나 하는 등의 문제가 있었다. 인터넷을 찾아보니 이 문제로 엄청나게 많은 글들이 만들어지고 있다. 여차저차해서 해결책을 아래와 같이 찾아낼 수 있었다. 

 

https://www.reddit.com/r/Android/comments/18svlg0/gmail_app_associated_with_delayed_notifications/

 

From the Android community on Reddit: Gmail app associated with delayed notifications (testing data included)

Explore this post and more from the Android community

www.reddit.com

https://r1.community.samsung.com/t5/%EA%B0%A4%EB%9F%AD%EC%8B%9C-s/%ED%99%94%EB%A9%B4%EC%9D%B4-%EA%BA%BC%EC%A0%B8%EC%9E%88%EC%9C%BC%EB%A9%B4-gmail-%EC%95%8C%EB%A6%BC%EC%9D%B4-%EC%95%88%EC%98%A4%EB%8A%94-%EB%A7%A4%EC%9A%B0-%EB%8A%A6%EA%B2%8C-%EC%98%A4%EB%8A%94-%EB%AC%B8%EC%A0%9C-doze-mode-%EC%95%B1%EB%B3%84%EC%84%A4%EC%A0%95-%EB%90%98%EB%82%98%EC%9A%94/td-p/20901023

 

화면이 꺼져있으면 gmail 알림이 안오는 (매우 늦게 오는) 문제 - doze mode 앱별설정 되나요 ?

갤럭시노트20 사용자입니다. 어차피 모든 최신 갤럭시 종류가 다 마찬가지일테니, 갤럭시S 게시판에 그냥 올립니다. 오래전부터 gmail 사용중인데, 노트20 쓰다가 갑자기 언제부터인지 gmail 알림

r1.community.samsung.com

 

doze 모드니 뭐니 하는 이야기가 있는데 그냥 단순하게 구글에서 제공하는 아래의 Gmail 안드로이드 앱을 안쓰면 된다. Outlook에서 구글 계정을 등록해놓고 Outlook에서 오는 구글 메일 수신 알림을 활용해서 메일 인증 코드를 가져오니 수초만에 작업을 마칠 수 있었다.

 

https://play.google.com/store/apps/details?id=com.google.android.gm&hl=ko

 

Gmail - Google Play 앱

Google 이메일

play.google.com

 

이렇게 작업해놓고 보니 너무 좋다. 왜 진작에 이렇게 해놓지 않았는지가 후회될 뿐...