私はjsonのコードを取得するためにpostman.butを使用して、以下のURLを使用してjsonからコードを取得しようとしています。私は、ブラウザでこのURLを打ったときUBERのauthorize apiからコードを取得する方法
また私は、コードを取得することができ、クエリパラメータで私のlocalhostのURLにリダイレクトしています。
ステップ1。クライアントID、クライアントシークレット、スコープ、およびリダイレクトコールバックURIを使用してOAuth2Credentialsオブジェクトを作成して、ユーザーの認証コードを取得します。
SessionConfiguration config = new SessionConfiguration.Builder()
.setClientId("YOUR_CLIENT_ID")
.setClientSecret("YOUR_CLIENT_SECRET")
.setScopes(yourScopes)
.setRedirectUri(redirectUri)
.build();
OAuth2Credentials credentials = new OAuth2Credentials.Builder()
.setSessionConfiguration(config)
.build()
ステップ2。ユーザーをOAuth2Credentialsオブジェクトから認可URLに移動します。
String authorizationUrl = credentials.getAuthorizationUrl();
ステップ3。ユーザーが要求を承認すると、認証コードが取得されます。認証コードとユーザーIDを保管する信任状オブジェクトを作成します。
Credential credential = credentials.authenticate(authorizationCode, userId);
私は、手順2および手順3
で混乱しています - 私は、ステップ2でauthorizationUrlをどうするかを持っている必要がありますか?。 - 手順3でauthorizationUrlを使用してauthorizationCodeを取得するにはどうすればよいですか?。
はい。 Upto authorizationCode私は知っていますが、一度コードを承認すれば、トークンを取得でき、認証コードは10分で失効します。今私のconsufionは、コールバックURLを使用してauthorizationCodeには、その一度の仕事ですか?私は私のサーバーを再起動し、私はトークンを持っていない場合はどうなりますか?新しいauthorizationCodeを取得する必要がありますか? –
認証コードが最終的なトークンではありません。あなたはそれを使ってアクセストークンを取得する必要があります。 DBにアクセストークンを格納する必要があります(ユーザーに関連付けられています)。アクセストークンは、実際のトークンレスポンスの 'expires_in 'に定義されているように、30日間有効です。 [ドキュメントの「アクセストークンの取得」の手順(https://developer.uber.com/docs/riders/guides/authentication/introduction#get-an-access-token)を参照してください。あなたの認証コードでアクセストークンを取得しないと、認証コードは10分後に失効します。ユーザーは基本的にスコープへのアクセスを許可し、そのスコープに対処する必要があります – agraebe