oauth 2.0授权在App auth android中不起作用

时间:2019-06-25 13:15:12

标签: android oauth-2.0 appauth

我正在使用App身份验证库实施ID身份验证。与网页应用程序一样使用重定向uri时,我可以看到授权页面。但是,当我使用自定义重定向方案作为重定向URL时,无法查看授权页面。它只是闪烁授权页面加载并重定向回我的应用程序。如何解决?我需要显示登录页面。登录后,我需要重定向回我的应用程序。

渐变文件

    implementation 'net.openid:appauth:0.3.0'

这是我的清单文件

   <activity
        android:name=".Activities.LauncherActivity"
        android:label="@string/app_name"
        android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="com.example.HANDLE_AUTHORIZATION_RESPONSE"/>
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
    </activity>

    <activity android:name="net.openid.appauth.RedirectUriReceiverActivity">
        <intent-filter>
            <action android:name="android.intent.action.VIEW"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <category android:name="android.intent.category.BROWSABLE"/>
            <data android:scheme="com.example.android"
               />
        </intent-filter>
    </activity>

我的活动是

 public void performAuthorizationRequest() {

    Uri authorizationEndpoint = Uri.parse("https://login.com:446/v1.1.0_23/connect/authorize");
    Uri tokenEndpoint = Uri.parse("https://tokene.endpoint.com/token");
    String clientId = "clients";
    String responseType = "id_token token";
//        Uri redirectUri = Uri.parse("http://dev.login.com/dashboard");

    Uri redirectUri = Uri.parse("connect.cantiz.com.connectsmartconfigandroid:/oauthcallback");
    AuthorizationService service = new AuthorizationService(this);
     request = new AuthorizationRequest.Builder(new AuthorizationServiceConfiguration(authorizationEndpoint,tokenEndpoint,
                    null), clientId, responseType, redirectUri)
         .setScopes("openid scope/auth")
            .build();
    service.performAuthorizationRequest(request,
            PendingIntent.getActivity(this,
                    request.hashCode(),
                    new Intent(AUTHORIZATION_ACTION),
                    0));
    service.dispose();


}

无论何时运行此代码,我都无法加载授权端点。请帮忙。

0 个答案:

没有答案