├── mastodon_small.jpg ├── README.md └── index.html /mastodon_small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takahashim/mastodon-access-token/HEAD/mastodon_small.jpg -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Access Token Generator for Mastodon API 2 | 3 | * https://takahashim.github.io/mastodon-access-token/ 4 | 5 | Mastodon APIを叩くにはaccess_tokenが必要ですが、現状Mastodonの設定画面では直接取得するUIがないため、外部から取得するためのSPA(Single Page Application)サイトを作りました。 6 | 実験用にaccess tokenが必要な際などにお使いください(もっとも第三者も利用する本格的なアプリケーションを作るのであればこのような仕組みをアプリ自体で実装するべきなので、あくまで実験用のものとお考えください)。 7 | 8 | ## 使い方 (Usage) 9 | 10 | 「Mastodon URL」には使っているMastodonインスタンスのURLを、「Client Name」には設定画面で表示させたいアプリケーション名を、「Web site」にはWebサイト名を、それぞれ入力してください。 11 | 「Publish access_token」ボタンを押し、Mastodonインスタンス側で認証処理を正常に実行されると、access_token(とclient_id、client_secret)が表示されます。 12 | 13 | ## セキュリティについて (Security) 14 | 15 | 仕組みの都合で、どうしてもMastodonインスタンスのアクセス情報(client_id, client_secret, access_token)を取得する必要があります。 16 | 17 | 外部サイト上で秘密情報を扱うのは望ましくない方法なのですが、それでも安全性を極力担保するべく、サイトの挙動の透明性を高めてみました。JavaScriptも[Vanilla JS](http://vanilla-js.com/)で記述し、index.html内で完結させています。JavaScriptからサーバには一切アクセスしません(そもそもGitHub Pagesなのでサーバ側にアプリを仕掛けたりとかもできませんし、外部のJavaScriptも読み込まないようにしています)。ページ遷移間で情報の引き渡しにはクッキー等は使わず、localStorageに保存しています。 18 | jQuery等を使った方がコードは簡潔になりそうですが、透明性を優先しました(そのためGoogle Analyticsとかも入れてないのでアクセス数もよく分からず……。) 19 | 20 | 21 | なおCSSには[Bulma](http://bulma.io/)と[Font Awesome](http://fontawesome.io/)を使っています(publicなCDN経由なので変なものは仕込めません)。BulmaはJavaScript不要で使える軽量CSSフレームワークで便利です。 22 | 23 | ## 作者 (Author) 24 | 25 | [@takahashim](https://mstdn.jp/takahashim) 26 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Access Token Generator for Mastodon API 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |
18 |
19 |

Access Token Generator for Mastodon API

20 |
21 |
22 |
23 | 24 |
25 |
26 | 27 |
28 |
29 |

Form

30 |
31 |
32 | 33 |

34 | 35 | 36 | 37 | 38 |

39 |
40 |
41 | 42 |

43 | 44 | 45 | 46 | 47 |

48 |
49 |
50 | 51 |

52 | 53 | 54 | 55 | 56 |

57 |
58 |
59 | 60 |

61 | 62 | 71 | 72 |

73 |
74 | 75 |
76 |

77 | 78 | 79 | 80 |

81 |
82 | 83 |
84 |
85 | 86 | 87 |
88 |

Result

89 | 90 |
91 |
92 |

access_token

93 |
94 |
95 |

96 |
97 |
98 | 99 |
100 |
101 |

client_id  

102 |
103 |
104 |

105 |
106 |
107 | 108 |
109 |
110 |

client_secret  

111 |
112 |
113 |

114 |
115 |
116 | 117 |
118 |
119 |
120 |
121 | 122 |
123 |
124 |
125 |

(In Japanese)

126 |

About This Site

127 |

When you want to use Mastodon API, you need access_token for your application. Using this site, you can get new access_token of your Mastodon site.

128 |

You can see all applications you use in Authorized Application of Settings.

129 |

About Security

130 |

131 | This page uses your client_id, client_secret and access_token, but the site is pure JavaScript SPA site; no server-side applications, no external scripts, no tracking your activities. 132 |

133 |

134 | If you can't trust this site, you can copy this page and execute it anywhere. 135 | This page uses Vanilla JS, so you can easily confirm what it does. 136 |

137 |
138 |
139 |
140 | 141 | 159 | 245 | 246 | 247 | --------------------------------------------------------------------------------