0
私は、APIキーを使用してBluemixにユーザーを認証するためにrestを使用しています。また、ユーザー名とパスワードの認証を実装したいと思います。SSOとRESTを使用してBluemixで認証する方法は?
def auth(self):
self.log.debug('Authenticating to CloudFoundry')
url = self.info['authorization_endpoint'] + '/oauth/token'
headers = {
'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8',
'Accept': 'application/x-www-form-urlencoded;charset=utf-8',
'Authorization': 'Basic Y2Y6'
}
if self.api_auth:
data = 'grant_type=password&username=apikey&password={}'.format(self.api_key)
elif self.userpass_auth:
data = 'grant_type=password&username={}&password={}'.format(self.username, self.password)
else:
raise ValueError()
# send request ...
私はユーザー名とパスワードを使用して要求を作るしようとしたときしかし、私は応答を受け取る:
{"error_description":"BMXLS0202E: You are using a federated user ID,
please use one time code to login with option --sso.","error":"unauthorized"}
だから私は、トークンを取得するためにSSOのWebページに私のユーザーを送ることができますが、彼らがSSOトークンを持っているときに必要なREST APIは何ですか?または、私は上記と同じ残りのAPIを使用しますか?代わりに別のパラメータを指定しますか?
私はあなたに同意します。私はAPIトークンが好きで、[私のライブラリ](https://github.com/snowch/ibm-analytics-engine-python)でAPIトークンのサポートを始めました。しかし、一部のユーザーからは、私もユーザー名/パスワードをサポートするように要求されています:( –
これはサポートできますが、フェデレーションIDを持つユーザーはAPIトークンルートを選択する必要があります。 / –