1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GistをIndieAuth.comアカウントにする

Last updated at Posted at 2019-02-02

IndieAuth( https://indieweb.org/IndieAuth )はOAuth2拡張の1つで、Webページ自体をアカウントとして成立させる仕様となっている。昔なつかしの、ConnectじゃないOpenIDみたいな仕様。

で、これの実装としてIndieAuth.comが有り、これはPGP公開鍵単体でアカウントを成立させることができる。

やりかたは簡単で、

<a rel="pgpkey" href="https://keybase.io/okuoku/pgp_keys.asc">PGP公開鍵</a>

のように、 pgpkey 入りの rel 属性を持ったリンクをHTMLに入れるだけになっている。

アカウントの準備

...アカウントの準備といっても、PGP公開鍵へのリンクが入ったHTMLを適当なところでホストするだけで良い。今回はGistを使っているが、Glitch.meとかGitHub Pagesとか何かHTMLが適切なcontent-typeで送出されるところであればどこでもOKとなる。

PGP公開鍵の準備

適当に準備する。 https://keybase.io/ とかGnuPGなりなんなりをインストールするとか。

Gistの準備

https://gist.github.com/ にログインしてPGP公開鍵とHTMLを投稿する。HTMLにはPGP公開鍵のURLを書かないといけないが、とりあえず適当にしておく。

URLは適当
<!DOCTYPE html>
<html lang="en">
  <head>
    <title>profile</title>
    <meta charset="utf-8">
  </head>  
  <body>
  <a rel="pgpkey" href="https://keybase.io/okuoku/pgp_keys.asc">my pgp public key</a>
  </body>
</html>

投稿すると "Raw" ボタンが有るので、それぞれのURLを取得しておく。

SnapCrab_NoName_2019-2-2_23-24-39_No-00.png

URLの取得とページの書き換え

GitHack https://raw.githack.com/ にRawボタンをクリックして飛んだ先のURLを入力し、Productionの方のURLを入手する。今回は以下のようなURLが入手できた:

PGP公開鍵のURLを取得したら、そちらを指すようにHTMLの方を書き換えておく。

実際のログイン

https://indieauth.com/setup の下部にお試し用のログインフォームが有るため、これを使ってログインを試すことができる。URLはHTMLの方のgistcdnのURLを入力する。

入力するとテキストデータ(JWT)を署名するように求められるので、秘密鍵で署名する。IndieAuthのページ https://indieauth.com/pgp ではMacOSのGPG Toolsを使った方法とkeybase.ioを使った方法が紹介されている。Windowsの場合はGPG4Winに収録されている、Kleopatraを使うのが簡単。

  1. 署名する文字列をクリップボードにコピーする
  2. タスクトレイのKleopatraを右クリックして クリップボード → OpenPGP署名... を選ぶ
  3. ウィザードに従って署名するとクリップボードに署名済の文字列がコピーされる
  4. ブラウザにペースト

ちなみに署名させられるJWTは以下のような内容を HS256 署名したものとなっている。

{
  "me": "https://gistcdn.githack.com/okuoku/f9061275a52ecbb449ff5a8dbe0074ae/raw/e053b0fe1db90a497a4874726810240b1a019db5/profile.html",
  "profile": "https://gistcdn.githack.com/okuoku/f9061275a52ecbb449ff5a8dbe0074ae/raw/8fe65de36190cf571966bec8893d0b4451052790/pubkey.asc",
  "redirect_uri": "https://indieauth.com/success",
  "state": null,
  "scope": null,
  "nonce": 970530,
  "created_at": 1549118458
}

感想

Mailvelopeに対応してよ!(去年末のアップデートで、PC上のGnuPGを直接呼び出せるようになった)

ちなみに最初は Qiita投稿をアカウントにする でやろうと思ってたけど、 QiitaはHTMLタグに属性を入れられないので上手くいかなかった。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?