0
OAuth
흐름을 Android 앱을 통한 실시간 연결에 적용하려고합니다. 인증 및 동의 부분에 대해서는 WebView
을 사용하여 사용자를 해당 페이지로 리디렉션합니다. 내가 구현하려고하는 흐름은 -WebView를 사용하는 Android OAuth 구현
- 런칭
MyActivity
입니다. onCreate()
에서auth url
을 시작하고 기다립니다.- 사용자가 계정을 사용하여 로그인하고 동의 페이지로 리디렉션됩니다.
- 사용자는 권한에 액세스하는 데 동의합니다.
- 구문 분석 인증 코드입니다.
MyActivity
으로 돌아가서auth
코드를 사용하여 작업을 수행하십시오.public class MyActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState) WebView myWebView = (WebView) findViewById(R.id.webview); AuthFlowWebView authView = new AuthFlowWebView(); //AuthFlowWebView extends WebViewClient myWebView.getSettings().setJavaScriptEnabled(true); myWebView.setWebViewClient(authView); myWebView.loadUrl("https://login.live.com/oauth20_authorize.srf?client_id=<CLIENT_ID>&scope=wl.signin%20wl.offline_access&response_type=code&redirect_uri=https%3A%2F%2Flogin.live.com%2Foauth20_desktop.srf&display=touch"); Log.i("", "Here already before the auth process is complete"); } } //Here is the Overriden onPageFinished method used to parse the auth code in AuthFlowWebView class: @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); Thread.dumpStack(); if (url.contains("oauth20_desktop.srf?code=")) { authSuccess = true; Uri uri = Uri.parse(url); authCode = uri.getQueryParameter("code"); Log.i("", "CODE : " + authCode); authProcessComplete = true; }
내가 3-5 단계가 완료 될 때까지
MyActivity
대기를하게 붙어 오전 :
아래는 코드입니다. 이러한 흐름을 구현할 대안을 제안하십시오.