dafi
1/20/2014 - 1:15 PM

Cas oAuth with android

Cas oAuth with android

package com.oauthtest;

import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

import com.codepath.oauth.OAuthLoginActivity;
import com.loopj.android.http.AsyncHttpResponseHandler;

public class MainActivity extends OAuthLoginActivity<CasClient> {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button b = (Button) findViewById(R.id.mybutton);
        b.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                loginToRest(v);
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public void onLoginSuccess() {
        System.out.println("MainActivity.onLoginSuccess()");
        getClient().getBlogs(new AsyncHttpResponseHandler() {
            public void onStart() {
                System.out
                        .println("MainActivity.onLoginSuccess().new JsonHttpResponseHandler() {...}.onStart()");
            }

            @Override
            public void onSuccess(String arg0) {
                System.out
                        .println("MainActivity.onLoginSuccess().new AsyncHttpResponseHandler() {...}.onLoginSuccess()" + arg0);
            }
          });        
        
   }

    @Override
    public void onLoginFailure(Exception e) {
        // TODO Auto-generated method stub
        System.out.println("MainActivity.onLoginFailure()");
        e.printStackTrace();
    }

    public void loginToRest(View view) {
        try {
            getClient().connect();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }    
}
package com.oauthtest;

import org.scribe.builder.api.CasOAuthWrapperApi20;

public class CasWrapperWithUrl extends CasOAuthWrapperApi20 {

    public CasWrapperWithUrl() {
        super("http://myserver:8080/cas2", false);
    }

}
package com.oauthtest;

import org.scribe.builder.api.Api;

import android.content.Context;

import com.codepath.oauth.OAuthBaseClient;
import com.loopj.android.http.AsyncHttpResponseHandler;

public class CasClient extends OAuthBaseClient {
    public static final Class<? extends Api> REST_API_CLASS = CasWrapperWithUrl.class;
    public static final String REST_URL = "";
    public static final String REST_CONSUMER_KEY = "key";
    public static final String REST_CONSUMER_SECRET = "secret";
    public static final String REST_CALLBACK_URL = "oauth://arbitraryname.com";

    public CasClient(Context context) {
        super(context, REST_API_CLASS, REST_URL,
          REST_CONSUMER_KEY, REST_CONSUMER_SECRET, REST_CALLBACK_URL);
    }

    // ENDPOINTS BELOW

    public void getBlogs(AsyncHttpResponseHandler handler) {
    }
}