自作スクリプトで使っていたのに……。
症状
ある日、自作スクリプトでGitHubにリポジトリをpush
した。
すると、以下のようなメールが届いた。
You recently used a password to access an endpoint through the GitHub API using curl/7.64.0. We will deprecate basic authentication using password to this endpoint soon: https://api.github.com/user/repos We recommend using a personal access token (PAT) with the appropriate scope to access this endpoint instead. Visit https://github.com/settings/tokens for more information. Thanks, The GitHub Team
翻訳すると以下。
最近、curl / 7.64.0を使用してGitHub APIを介してエンドポイントにアクセスするためにパスワードを使用しました。このエンドポイントへのパスワードを使用した基本認証は間もなく廃止されます。 代わりに、適切なスコープを持つパーソナルアクセストークン(PAT)を使用して、このエンドポイントにアクセスすることをお勧めします。詳細については、https://github.com/settings/tokensをご覧ください。
私の意訳によると以下。
GitHubAPIはBasic認証によるアクセスができなくなります(改悪)。 あなたは今、Basic認証によりGitHubAPIを使用しました。しかし近々廃止するため使えなくなります。 つきましてはAccessToken認証によるアクセスへと変更してください。
echo $json | curl -u "${username}:${password}" https://api.github.com/user/repos -d @-
おそらくセキュリティの観点からGitHubAPIへのBasic認証を禁止するということだろう。このほうが楽だったのに。
GitHubサイトをみるとさらなる改悪が発覚。
情報源
- https://developer.github.com/v3/auth/https://developer.github.com/v3/auth/#via-username-and-password
- https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api/
API廃止
なんと、AccessToken取得APIなどが廃止されるらしい。
POST /authorizations
今後は以下の方法でしかAccessTokenを取得できなくなるようだ……。
改悪
- Basic認証できなくなった
- AccessTokenの取得を自動化できなくなった
改悪に伴い、以下の対応を強いられる。
Microsoftに買収されてからどんどん改悪されていく……。
いつもの教訓
- Webサービスはできるだけ使わないほうが安全・安定・安心した運用ができる
- 使うなら入り組んだコードは書かないほうがいい(いずれ使えなくなり無駄になる)
所感
もうやだ。
妄想
コード書く→API廃止→ゴミになる→ショック
頑張って書いたコードがゴミになった。かつてPOST /authorizations
を使ったAccessToken自動取得Pythonコードが使えなくなるのか……。自分の努力が外部の都合で亡き者にされる怒りと悲しさと虚しさよ……。
廃止
古いOSやWindowsAPIを廃止されたりするのと同様、WebAPIも次々と廃止されていく。UI変更などもある。ついていけないし、ついていきたくない。
どんなものも大衆化すると改悪・劣化が進む。そろそろGitHubもヤバイか。
API廃止→対応→疲弊
どうせ頑張っても無駄なんだ……みたいな気分になる。廃止の対応コードを書いても楽しくない。対処パターンは以下3つ。選べ。人生は選択の連続うんぬん
- 対症療法
- 根本解決
- 諦める
- 忘れる
1. 対症療法
次のようなその場しのぎで乗り切る。
その1: 欺瞞
世の中の風潮に同化し、力と欺瞞で乗り切る。ようは気の持ちよう。プラシーボ効果。精神論。昭和。脳筋。
新しい枠組みや挑戦を考えるなどの工夫をして自分をごまかす。楽しい楽しい絶対楽しい!と自己暗示をかけて対応にあたる。がんばれがんばれできるできるぜったいできる。多用すると人生の迷子になる。
その2: ドーピング
流行りの五輪にあやかり、ドーピングをキメる。
イライラと現実の苦味をビターチョコで味わい、シュガー中毒ハイになっている間に対応を済ませる。目には目を。病には病を。毒をもって毒を制する毒に、私はなりたい。多用するとメタボる。
2. 根本解決
自作GitHub風サーバー構築。
相手の都合で対応を迫られるのが嫌。変えないで欲しい。だが外部に安住の地はない。他人を頼れば振り回され騙され搾り取られる。自分の思い通りにしたくば自分でつくるしかない。
他力本願の私にどこまでできるか。自分が敵。以下までは頑張ったことがある。
3. 諦める
内も外も敵しかいなかったので諦める。思えば別にそんな頑張ることじゃなかった。私は一体何と戦っていたのか。もう何も怖くない。あの鐘を鳴らすのはあなた。試合終了のゴングを鳴らすのは私。
GitHub? プログラミング? どーでもいーよ。人間諦めが肝心。よかろう。死の安息に沈め。
4. 忘れる
書いて吐き出してすっきり忘れる。今やっていること。やる気・情熱・興味関心・怒り・悲しみ・虚しさ、何もかも、さようなら。
やってみる? やならないことをやってみる。