平衡点


2020/08/31 [長年日記]

_ isync/mbsync で認証に XOAUTH2 を使う

isync/mbsyncでGmailを同期する際に, アプリパスワードではなく XOAUTH2での認証を行なうようにしてみた.

必要なモノ/作業は以下:

  1. Google Developer Console で適当なプロジェクトを上げて, Gmail API を有効にしておく. 方法は割愛. 適宜.
  2. moriyoshi/cyrus-sasl-xoauth2: XOAUTH2 mechanism plugin for cyrus-sasl
    • サクっと Debianパッケージ にしてみたが, メンテする気がないので誰か持っていかないかなぁ…
  3. isync/mbsync の修正: IMAPでの通信時の入力bufferを長くする
    From: Youhei SASAKI <uwabami@gfd-dennou.org>
    Date: Mon, 31 Aug 2020 01:27:28 +0900
    Subject: increase buffer for xoauth2
    
    ---
     src/drv_imap.c | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/src/drv_imap.c b/src/drv_imap.c
    index 56d71cb..e41264c 100644
    --- a/src/drv_imap.c
    +++ b/src/drv_imap.c
    @@ -1867,7 +1867,7 @@ ensure_password( imap_server_conf_t *srvc )
     	if (cmd) {
     		FILE *fp;
     		int ret;
    -		char buffer[80];
    +		char buffer[800];
    
     		if (*cmd == '+') {
     			flushn();
    
    • これは最新の isync/mbsync では不要らしい.
  4. Tokenの取得/refresh に google/oauth2l: oauth2l ("oauth tool") を使う
    • isync/mbsync では PassCmd で都度 refresh すれば良い.

といった塩梅で.

詳細はそのうち気がむいたら.


連絡先など
最近の日記
  • 2020/12/01
    • 1. elscreenからtab-bar-modeへ移行
  • 2020/11/02
    • 1. zsh の prompt に VCS info を表示する, 2020版
  • 2020/10/26
    • 1. Androido版 Google Drive の通知が酷い事になっていた件.
  • 2020/09/11
    • 1. mastodon behind Apache2
  • 2020/08/31
    • 1. isync/mbsync で認証に XOAUTH2 を使う