Composerの認証オプション色々

  • 15
    Like
  • 2
    Comment
More than 1 year has passed since last update.

Composerのリポジトリは簡単な認証であれば設定できるようになっている。基本的に$(composer config -g cache-dir)/auth.jsonに記載していくが、configコマンドでも設定が可能。

すべてドメインごとに設定できる。

Basic認証

なんかconfigコマンドに渡すhttp-basic.という部分がドメインの一部っぽく見えるが関係なくて、http-basic.まではJSON記法、それ以降がドメインを指す。(http-basic[example.com]みたいな記法だったら分かりやすかったのに。。)

たとえばexample.comに対してユーザー名:aribaba パスワード:opensesameが必要だったとしたらこんな感じ。

# set
$ composer config -g http-basic.example.com aribaba opensesame
# unset
$ composer config -g --unset http-basic.example.com
# list
$ composer config -g http-basic

↓詳しくは
https://getcomposer.org/doc/articles/http-basic-authentication.md

GitHub

githubの場合は個人または組織アカウントで払いだしたアクセストークンを使う。
privateリポジトリにアクセスする場合はその権限があるアクセストークンが必要。(repoあたりにチェックを入れて作る)

https://github.com/settings/tokens

単にIP制限を緩和したいだけであれば、全く権限のついていないアクセストークンでもOK。

これもgithub-oauth.までがJSON記法で、その後ろが設定対象のドメインである。

# set
$ composer config -g github-oauth.github.com xxxxxxx
# unset
$ composer config -g --unset github-oauth.github.com
# list
$ composer config -g github-oauth

GitHub Enterpriseの場合

上記設定はgithub.com以外でもドメインごとに設定できる。つまりGitHub Enterpriseでも使える。ただしcomposerからすればそのドメインがGitHub互換の動きをしているかはわからないため、github-domainsに追加しておく必要がある。

configコマンドだとスペース区切りで、しかもgithub.comは省略できないのでなんか微妙。。

# set
$ composer config -g github-domains github.com git.example.com ...
# unset
$ composer config -g --unset github-domains
# list
$ composer config -g github-domains

GitLab

詳しく知らないけど、githubと同様にアクセストークンを設定できるっぽい。コマンドだけ羅列しておく。

ドメインはgitlab-domainsにセットする。

# set
$ composer config -g gitlab-domains gitlab.com git.example.com ...
# unset
$ composer config -g --unset gitlab-domains
# list
$ composer config -g gitlab-domains

トークンはgitlab-oauthにセットする。

# set
$ composer config -g gitlab-oauth.git.example.com xxxxxxx
# unset
$ composer config -g --unset gitlab-oauth.git.example.com
# list
$ composer config -g gitlab-oauth

BitBucket/Stash

これもよく知らないけど、bitbucket-oauthで設定できるみたい。ドメインごとに設定できるので、たぶんStashと組み合わせて使えるんじゃないか。

これらはConsumerKey/ConsumerSecretの組で払い出すので、設定が2つになる。

# set
$ composer config -g bitbucket-oauth.bitbucket.org CONSUMERKEY SECRET
# unset
$ composer config -g --unset bitbucket-oauth.bitbucket.org
# list
$ composer config -g bitbucket-oauth

これらは実際には普通のBasic認証のuser/passとして使えるため、特にドメインを設定する必要はなさそう。