【问题标题】:Misconfigured Redirect URI Uber Android错误配置的重定向 URI 优步 Android
【发布时间】:2018-02-23 02:50:55
【问题描述】:

我正在 ANDROID 中实现自定义隐式登录机制,如下所示,

     private SessionConfiguration configuration;
     private LoginManager loginManager;

     @Override
     protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_sample_login);

     configuration = new SessionConfiguration.Builder()
        .setClientId("nHuaAjXVHZbN428PDXnJp4gCL969W8jv")
        .setRedirectUri("com.myproject.ubertest.uberauth")
        .setEnvironment(SessionConfiguration.Environment.SANDBOX)
        .setScopes(Arrays.asList(Scope.PROFILE, Scope.RIDE_WIDGETS))
        .build();
UberSdk.initialize(configuration);

AccessTokenStorage accessTokenStorage = new AccessTokenManager(SampleLoginActivity.this);
loginManager = new LoginManager(accessTokenStorage, loginCallback);
loginManager.login(SampleLoginActivity.this);

loginManager = new LoginManager(accessTokenStorage,
        loginCallback,
        configuration,
        111);

   }

LoginCallback loginCallback = new LoginCallback() {
@Override
public void onLoginCancel() {
    // User canceled login
    Log.e("Uber Login Cancelled", "Cancelled");
}

@Override
public void onLoginError(@NonNull AuthenticationError error) {
    // Error occurred during login
    Log.e("Uber Login Error", error.toString());
   }

@Override
public void onLoginSuccess(@NonNull AccessToken accessToken) {
    // Successful login!  The AccessToken will have already been saved.
    Log.e("Uber Login Sucess", accessToken.toString());
}

@Override
public void onAuthorizationCodeReceived(@NonNull String authorizationCode) {

}
};

但我总是收到一条警告消息,提示“从旧版本的 Uber SDK 检测到无效使用重定向 URI 进行身份验证”。请告诉我以解决问题。

注意:另外请注意,我已在开发人员仪表板中将我的重定向 URI 配置为 com.myproject.ubertest.uberauth://redirect 并更新我的密钥哈希。我正在使用这个 sdk com.uber.sdk:rides-android:0.9.0

【问题讨论】:

    标签: android uber-api


    【解决方案1】:

    您能否将代码中的重定向 URL 更新为例如:https://localhost:8181/Callback : setRedirectUri("https://localhost:8181/Callback")
    此外,更新您的开发人员dashboard 上的重定向 URL。看起来您没有正确设置重定向 URL 到您的代码。此外,如果您发布了您的真实 ClientId = nHuaAjXVHZbN428PDXnJp4gCL969W8jv - 此 ID 不存在。

    【讨论】:

    • 感谢您的回复。请说明localhost:8181/Callback 是什么?还有我应该在哪里以及如何配置它们?而且我知道 ClientId 不是真实的。
    • 你从哪里得到你的 ClientId = nHuaAjXVHZbN428PDXnJp4gCL969W8jv? localhost:8181/Callback 是您需要在代码中使用的重定向 URL - 并将其设置为您的开发人员应用程序。您可以使用您的重定向 URL - 我只想指出您没有正确传递重定向 URL。澄清“客户端 ID:nHuaAjXVHZbN428PDXnJp4gCL969W8jv”不存在。那么你是怎么得到它的呢?
    • 我已经更改了客户 ID,认为它可能是机密信息。并且是否有必要设置重定向 URL 以使用我的服务器的身份验证机制登录,因为我没有 https 之一?如果是,你能帮我什么应该是流程我的意思是在服务器端进行必要的配置。
    • 谢谢 - 您只需在仪表板上使用与您提供给代码的重定向 URL 相同的重定向 URL。这就是您需要做的所有事情。
    • 对于迟到的回复深表歉意 - 如果您使用的是最新版本的 Android SDK (v0.9.0) - 请查看:github.com/uber/…,了解您需要如何设置重定向 URL跨度>
    猜你喜欢
    • 2016-01-25
    • 1970-01-01
    • 2015-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-10
    • 2020-10-15
    • 2015-02-05
    相关资源
    最近更新 更多