ユーザーが R から JS チャートを作成、カスタマイズ、公開できるようにする rCharts という R パッケージを作成しています。
ユーザー名とパスワードを使用してトークンを取得し、そのトークンを使用して要点を作成する Github の v3 API を使用して基本認証を実装しました。
ここで、(a) ユーザーが毎回ユーザー名とパスワードの入力を求められないようにするため、および (b) 毎回新しいトークンを生成することでトークンの拡散を防ぐために、トークンが初めて生成されたときにトークンを保存したいと考えています。
トークンを保管できる場所をいくつか考えました。
- rCharts パッケージ ディレクトリ。
~/.rCharts
.rProfile
これらのアプローチのそれぞれの長所と短所を考えてみようとしています。を使用するのは好き.rProfile
ですが、ユーザーが別のディレクトリから R を開いた場合はどうでしょうか。
誰かが最善の解決策を理解するのを手伝ってくれれば幸いです。
アップデート。@hadley のおかげで、私は実際に OAuth を使用していて、基本認証を使用していないことがわかりました。Basic Authorization を使用すると、Gist を簡単に投稿できます。これが私のコードです。ユーザー名とパスワードを取得する最も安全な方法は、を使用することだと思いますoptions
。Github の API が最近変更されたため、ユーザー エージェント文字列が必要です。
require(httr)
POST(
url = 'https://api.github.com/gists',
config = c(
authenticate('username', 'password', type = 'basic'),
add_headers("User-Agent" = "Dummy")
),
body = body
)