◆ なぜ「ALISハッカー部」は、運営に「OAuth認証」を求めるのか
どうも、ALISハッカー部の「ゆうき」です。
本日は、「OAuth認証(オーオース認証)」というシステムの重要性を、説明していきたいと思います。
◆ 「OAuth認証」って何?
「OAuth認証」の仕組みに関することは、以下の記事が、わかりやすいかも。
超簡潔に述べると、今よりも、「より安全に」「より使いやすい」状態で「外部サイト」と通信できるようにする機能のことです。
◆ 「OAuth認証」が実装されると、何ができるの?
「より安全な状態で」色々なことができます。
・アリスマンが求めていた予約投稿機能
・ジョシさんが欲しがっていた、投げ銭のプールと、レイン機能
・ALIS専用のスマホアプリ
・「いいねボタン」と「報酬」を付属した状態での、「pixiv」や「小説家になろう」のようなサイトの構築
・ALISのコピーサイト
これらのような機能が、外部の開発者でも作れるようになります。
流石に、ALIS内部の機能そのものを変更したりすること(ワードプレスのプラグインによる操作みたいなこと)はできませんが、
「こんなシステムがあったら良いなぁ~」というものの多くは、実装できるようになるでしょう。
また、システムを高速で開発することができます。
外部の開発者は、検証とか安全性をそこまで気にする必要がないので(一部の機能を使う場合は例外ですが)、ALISの機能拡張の速度が「極端に」速くなります。
(+多くの開発者が、ALISの追加システムを「個別に」開発できます)
……これが如何に凄い機能であるか、おわかりでしょうか?
OAuth認証があれば、Torelloに上がっている要望のいくつかは、ゆっくり開発する運営を待たずとも、「複数の」外部の開発者が素早く作成できるのです!
(ちなみに、steemitでは既にこの機能があり、多数のアプリが公開されています)
今までのALISの開発速度:1倍
OAuth認証追加後のALISの開発速度:3倍以上
(実際には「1 ~ 20倍」ぐらいです。外部制作者の「やる気次第」で変わります)
に変化するかもしれないのです。
◆ 既存の認証方法の問題点について
実のところ、上記で説明した機能は、現在でも実装可能だったりします。
しかし、現状の外部での認証方法は、
・安全ではない
・開発者側は認証が大変
・ユーザー側の認証も、気軽にできない
という問題を含んでいます。
これらの要素が「ALISの機能拡張をストップさせている」と言っても、過言ではないでしょう。
問題に関することを、順に説明していきます。
1,安全ではない
現在のALISの認証方法は、「userID + パスワード」もしくは「AWS(アマゾンウェブサービス)の認証(id_token)」のみになります。
「userID + パスワード」は、外部サイトで入力なんてしたくないですよね。フィッシングサイトとかを作られたら、一発で終わります。
「AWSの認証」は、パスワード認証ほど危険ではないものの、現在はALIS内部の(ほぼ)全ての機能が実行可能なため、投げ銭でALISを全部取られる、といった危険性があります。
(※1 また、もし万が一、開発者が管理していた「AWSの認証」が盗まれると、甚大な被害が出るかもしれません)
(※2 億ラビットくんも、この安全性を懸念しているため、ユーザーの個別認証以外では、「個人認証が必要なALISのAPI」を使えていません)
一方、OAuth認証は、ユーザー側が「ALIS内部の一部の機能だけを許可」といったことができるので、投げ銭という「場合によっては危ないもの」は使わせないけれど、投稿機能は貸してあげる(外部での実行も許可してあげる)、といったことができます。
(「AWSの認証」と違って、許可はいつでも、ユーザー側から変更できます)
2,開発者側は認証が大変
ALISの「OAuth認証」がない場合だと、ユーザーの個別認証が大分面倒になるので、超やる気のある開発者以外は、ALISの機能を拡張しようとしなくなります。
(現に、億ラビットくん以外のプログラマーは、ユーザーの個別認証を拡張サービスに実装していませんよね)
3,ユーザー側の認証も、気軽にできない
ALISユーザー視点の場合、
「userID + パスワード」は、危険だから行えず、
「AWSの認証」は、よくわからないからできない、という状態になっています。
ですが、これらの問題も、OAuth認証なら全て解決できます。
初回は、ALISのページで許可のボタンを押すだけ。
2回目以降は、何もしなくても外部サイトに訪れるだけで認証可能です。
簡単ですね!
ALISにOAuth認証が実装されれば、上記の問題が全て解決されるので、開発者もユーザーも、ALISの機能を気軽に利用することができます。
それは、ALISの発展に大きく貢献することでしょう。
◆ 運営に「OAuth認証」の実装を「皆で何度も」要求しよう!
「OAuth認証」を理解している人なら、この機能が最重要事項の1つである、ということも把握しています。
だからこそ、億ラビットくんも、OAuth認証の必要性に関して、皆に訴えているのです!
しかしながら、ALIS運営は、少数の凄く貴重な意見を後回しにして、大多数の意見を重視する傾向があるので、
「『OAuth認証』は、まだ必要ない」なんて感じているのかもしれません。
(※1 現に、APIの公開は早かったのに、それを最大限にサポートできるはずの「OAuth認証」は、未だに実装されていませんからね。……外部の開発者からしてみると、「userIDとパスワード」だけでどうしろと……という状態になっています)
(※2 現時点ではまだ、ALISコミュニティに「OAuth認証」の大切さが伝わっていないので、運営を動かすほどの「意見の強さ」にならないのかも……)
そのため、今回は「OAuth認証」の重要性を説明してみることにしました。
この記事で、一人でも多くのALISユーザーに「OAuth認証」の重要性が伝わってくれたら、幸いです。
◆ おまけ
運営の開発のリソースには限界があるため、労力を外部に分散することで、より多くの不満を解決できるようにして欲しいですね。
◆ 「ゆうき」のツイッター