1

私は、コマンドラインインターフェイス(Thorを使用)を備えたruby gemを作成しています。これを、「myrubygem」と呼んでいます。

ユーザーは次のことができるはずです:

myrubygem init

これにより、githubのログインとパスワードが要求され、github apiを使用してgithubにリポジトリが作成されます(gemに実行させたい他の機能は別として)。

myrubygem push 

これにより、いくつかのファイルがコミットされてリポジトリにプッシュされます。これは繰り返しの操作になる可能性があり、ユーザーにgithubのログインとパスワードを尋ね続けたくありません。また、パスワードをテキストファイルに保存することもお勧めできません。

最初のコマンドだけがプロンプトを必要とし、残りのコマンドが資格情報を記憶できるように、資格情報をキャッシュする方法はありますか?

4

2 に答える 2

0

問題を解決するためにいくつかのことを試みたので、私は自分の質問に答えて、私がやったことを説明します。

1)Oauthトークンを保存します

これは私が最初に試したものです。ユーザーにGithubのログインとパスワードを尋ね、github_apigemを使用してApiを使用して認証しました。次に、適切な権限を持つOAuthトークンを作成しました。このOAuthトークンを保存し、それ以降のログインに同じものを使用しました。

これは厄介で、セキュリティの問題があり、バグがあるように見えました。

だから私はこれをすることになった:

2)責任をsystemgitコマンドに引き渡します

私はrubyのシステムコマンドを使用して「git」コマンドを使用してすべてのgit操作を実行しました。Gitはユーザーにログインの詳細を尋ねます。ログインをキャッシュする方法を知っています。頭痛とコードが減ります。

于 2012-10-30T07:18:41.400 に答える
0

githubクッキーでは動作しませんか?次に、必要に応じてCookieの内容を保存して提示する必要があります。ウィキペディアのエントリはここで役立つかもしれません:http://en.wikipedia.org/wiki/HTTP_cookie

于 2012-09-24T06:47:15.663 に答える