平衡点


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 すれば良い.

といった塩梅で.

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


連絡先など
最近の日記
  • 2024/02/15
    • 1. org-mode → bemaer での番号付きリスト
  • 2024/01/04
    • 1. 明けました.
  • 2023/12/03
    • 1. TeX on Debian 12 (Bookworm)
  • 2023/11/29
    • 1. GPGで複数の認証鍵がある場合の --export-ssh-key
  • 2023/09/07
    • 1. Wanderlust で返信時にメーリングリストのシリアルナンバを削除するには
一覧
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|02|03|04|08|09|10|11|12|
2013|01|02|03|04|05|06|08|09|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|09|10|
2016|02|03|
2017|01|02|03|05|06|07|09|11|12|
2018|03|06|07|10|11|12|
2019|01|02|03|04|05|07|10|12|
2020|01|02|03|04|05|08|09|10|11|12|
2021|01|02|03|05|06|07|08|09|11|12|
2022|01|02|03|04|05|06|08|10|11|12|
2023|02|03|04|06|08|09|11|12|
2024|01|02|
Back to Top ▲