東工大ポータルに自動ログインする

## 内容
### Tampermonkey
Chrome版 https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo?hl=ja
Firefox版(スマホ対応) https://addons.mozilla.org/ja/firefox/addon/tampermonkey/
Opera版 https://addons.opera.com/ja/extensions/details/tampermonkey-beta/

を使ってパソコン・スマホから1クリックで自動ログインさせる

(最終編集日 2020/10/11)

## やり方
※パソコン・スマホ版もやり方は同じ

### 手順1
・上のURLからTampermonkeyをインストールする

・以下のURLからTampermonkey用のスクリプトをインストールする
https://greasyfork.org/ja/scripts/390145-tokyotech-portal-login-%E6%9D%B1%E5%B7%A5%E5%A4%A7%E3%83%9D%E3%83%BC%E3%82%BF%E3%83%AB%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3

・スクリプト内の

```javascript

(document,window,location,0,'00B00000','password',['1111111111','2222222222','3333333333','4444444444','5555555555','6666666666','7777777777']);
```

の部分を自分の学籍番号,パスワード,マトリックスコードに書き換える

### 手順2
・以下のログイン画面をブックマークに追加する
https://portal.nap.gsic.titech.ac.jp/GetAccess/Login?Template=userpass_key&AUTHMETHOD=UserPassword

・ブックマークより自動ログインできるか確認する

おわり

## 補足1(2020/10/11 追記)
スマホ版について

Firefoxが79.0.0以降からTampermonkeyをサポートしなくなったっぽいので、野良サイトから68.10.0のapkを入れる必要があるので面倒くさいかも（android版の話、iosは知らん）

以下のブックマークレットを使ったほうが楽

## 補足2
Tampermonkeyに対応していないブラウザを使っている場合には以下のスクリプトをブックマークレットとして追加する
該当部分は学籍番号,パスワード,マトリックスコードに書き換える
ただし3回もクリックしないといけないのでめんどくさい

こっちをコピペして改変する

```javascript
javascript:(function(d,w,n,j,i,p,m){var l=d.login,f=d.getElementsByTagName('input'), t, c;switch(n.search.replace(/[&?]Template=([^&]*)(&.*)?/,'$1')){case 'userpass_key':l.usr_name.value=i;l.usr_password.value=p;l.submit();break;case 'idg_key':while(++j-4){t=f.item(j);c=t.parentNode.parentNode.parentNode.parentNode.getElementsByTagName('th')[0].innerHTML;t.value=m[c.match(/[1-7]/)[0].charCodeAt(0)-'1'.charCodeAt(0)].charAt(c.match(/[A-J]/)[0].charCodeAt(0)-'A'.charCodeAt(0));}l.submit();break;default:if(n.host+n.pathname=='wlanauth.noc.titech.ac.jp/fs/customwebauth/login.html'){d.getElementById('username').value=i;d.getElementById('password').value=p;submitAction();}else{w.open('https://portal.nap.gsic.titech.ac.jp/GetAccess/Login?Template=userpass_key&AUTHMETHOD=UserPassword', '_blank');}}})(document,window,location,0,'00B00000','password',['1111111111','2222222222','3333333333','4444444444','5555555555','6666666666','7777777777']);
```

改行して見やすくしたやつ（コピペで動かないかも）

```javascript
javascript:(
    function(d,w,n,j,i,p,m){
        var l=d.login,f=d.getElementsByTagName('input'), t, c;
        switch(n.search.replace(/[&?]Template=([^&]*)(&.*)?/,'$1')){
            case 'userpass_key':
                l.usr_name.value=i;
                l.usr_password.value=p;
                l.submit();
                break;
            case 'idg_key':
                while(++j-4){
                    t=f.item(j);
                    c=t.parentNode.parentNode.parentNode.parentNode.getElementsByTagName('th')[0].innerHTML;
                    t.value=m[c.match(/[1-7]/)[0].charCodeAt(0)-'1'.charCodeAt(0)].charAt(c.match(/[A-J]/)[0].charCodeAt(0)-'A'.charCodeAt(0));
                    }
                    l.submit();
                break;
            default:
                if(n.host+n.pathname=='wlanauth.noc.titech.ac.jp/fs/customwebauth/login.html'){
                    d.getElementById('username').value=i;
                    d.getElementById('password').value=p;
                    submitAction();
                }else{
                    w.open('https://portal.nap.gsic.titech.ac.jp/GetAccess/Login?Template=userpass_key&AUTHMETHOD=UserPassword', '_blank');
                }

        }
    }
)
(document,window,location,0,'00B00000','password',['1111111111','2222222222','3333333333','4444444444','5555555555','6666666666','7777777777']);
```

## 参考
東工大ポータルとtitech-pubnetのログイン自動化のスクリプト(とブックマークレット)書いた
http://l1048576.blogspot.com/2014/05/titech-automatrix1.html

Chrome拡張「Tampermonkey」で閲覧ウェブサイトをカスタマイズ！
https://www.lisz-works.com/entry/chrome-tampermonkey