我有一个申请。 OnCreate 我创建了oauthservice对象:并进入dologin()
oauthService =新的OAuth2Service(this,config);
config具有应用程序client_id和client_secret。在dologin中,我清除令牌,使我所有的本地令牌都为空,然后调用
StartActivityForResult(oauthService.AuthorizationRequestIntent, AUTHORIZATION_REQUEST_CODE);
这将回调到OnActivityResult并将尝试创建令牌请求
AuthorizationResponse响应= AuthorizationResponse.FromIntent(data); OAuth2Exception ex = OAuth2Exception.FromIntent(data);
现在在用户界面中,当您打开应用程序时,它将打开chrome并打开登录页面。用户将输入凭据,如果成功,将授予令牌,并将用户重定向回应用程序。 现在问题出在注销。当我单击注销时,我会清除令牌和共享首选项
ISharedPreferencesEditor sharedPreferencesEditor = PreferenceManager.GetDefaultSharedPreferences(Android.App.Application.Context).Edit(); sharedPreferencesEditor.Remove(TokenStore.KeyAccessToken); sharedPreferencesEditor.Clear(); sharedPreferencesEditor.Commit(); sharedPreferencesEditor.Apply();
,该应用将被杀死。但是,如果用户再次打开该应用程序,他将被重定向到chrome。但是它从cookie中获取数据,然后重定向回我的应用程序,而从未要求提供凭据。如果注销后我手动删除了所有cookie并重新打开应用程序,则可以正常工作并进入登录状态