2016-04-18 14 views
1

を提供できます取得します動作します。Okta認証はなく、IDによってユーザーが無効なトークンは、私がOktaを使用して認証Djangoのアプリを持っている

okta_user_endpoint = https://<org>.okta.com/api/v1/users/<okta_user_id> 

私はその後、同じヘッダーを使用:

content = json.loads(r.content.decode('utf-8')) 
okta_user_id = content['_embedded']['user']['id'] 

は、私は、idでoktaユーザーを取得するためにエンドポイントを作成するためにokta_user_idを使用します。応答内容から、私は、ユーザーIDを取得することができています認証呼び出しから同じapiトークンを使用して、IDでユーザーを取得しようとします。

これは失敗です。

{ 
"errorCode":"E0000011", 
"errorSummary":"Invalid token provided", 
"errorLink":"E0000011", 
"errorCauses":[] 
} 

が無効なトークンでまっすぐ進むようだが、トークンが無効である場合はどのように私は正常に認証電話をかけることができています:私は、次の内容の401エラーを取得しますか?そして、トークンが認証呼び出しに対して有効であれば、それはなぜIDでユーザーを取得するのには効果がないのでしょうか?

答えて

0

Oktaは最近、/authnエンドポイントが動作する方法を変更しました。 /authnエンドポイントに認証トークンが不要になりました。これはsingle-page applicationsをサポートするために行われました。

アプリケーションが任意のユーザーのユーザー情報を取得できる必要があるようです。その場合、Okta APIトークンを使用することは意味があります。

ただし、1ページのアプリケーションからその呼び出しを行っていた場合は、/users/me APIエンドポイントにリクエストする必要があります。

+0

私が使用しているOkta APIトークンはおそらくもう有効ではありませんか?しかし、認証はOkta APIトークンを必要としないので、認証トークンを必要としません。 – Jonathan

関連する問題