AndroidBootstrap:身份验证 - 它是如何工作的?

时间:2014-10-01 09:07:02

标签: java android authentication accountmanager android-bootstrap

我试图使用http://www.androidbootstrap.com/来引导新的Android应用程序。它创建了一个项目,包括Otto,Dagger,Butterknife,Retrofit和其他一些漂亮的东西,同时还创建了如何使用它的示例代码。这非常有用,因为它设置了注释处理以及Android Studio的Gradle构建文件中的所有内容,以便轻松导入它,它非常简洁。

但是,我在登录界面时感到茫然。

    /**
     * This method gets called when the
     * methods gets invoked.
     * This happens on a different process, so debugging it can be a beast.
     *
     * @param response
     * @param account
     * @param authTokenType
     * @param options
     * @return
     * @throws NetworkErrorException
     */
    @Override
    public Bundle getAuthToken(final AccountAuthenticatorResponse response,
                               final Account account, final String authTokenType,
                               final Bundle options) throws NetworkErrorException {

        Ln.d("Attempting to get authToken");

        final String authToken = AccountManager.get(context).peekAuthToken(account, authTokenType);

        final Bundle bundle = new Bundle();
        bundle.putString(KEY_ACCOUNT_NAME, account.name);
        bundle.putString(KEY_ACCOUNT_TYPE, Constants.Auth.BOOTSTRAP_ACCOUNT_TYPE);
        bundle.putString(KEY_AUTHTOKEN, authToken);

        return bundle;
    }

    @Override
    public String getAuthTokenLabel(final String authTokenType) {
        return authTokenType.equals(Constants.Auth.AUTHTOKEN_TYPE) ? authTokenType : null;
    }

    @Override
    public Bundle hasFeatures(final AccountAuthenticatorResponse response, final Account account,
                              final String[] features) throws NetworkErrorException {
        final Bundle result = new Bundle();
        result.putBoolean(KEY_BOOLEAN_RESULT, false);
        return result;
    }

    @Override
    public Bundle updateCredentials(final AccountAuthenticatorResponse response,
                                    final Account account, final String authTokenType,
                                    final Bundle options) {
        return null;
    }
}

我无法对其进行身份验证,实际上是"登录"。

所以我的问题如下:

  • 这个身份验证器的身份验证是什么? Android设备帐户,或Parse.com,还是完全不同的东西?
  • 这个身份验证器的工作原理是什么?是否有某个指南可以解释如何完成此操作(注意,在 AndroidBootstrap 网站上,没有' t ,如果它不是Bootstrap,那么视频指南已经过时了?对我来说,这看起来像一个随机服务(如AccountAuthenticatorService),AbstractAccountAuthenticator ......的巨大混乱......虽然我确信它对某些东西有好处,但它看起来不必要地过于复杂,我不明白发生了什么。

1 个答案:

答案 0 :(得分:0)

正如https://github.com/AndroidBootstrap/android-bootstrap所述 - 登录凭证为

用户名: demo@androidbootstrap.com

密码: android

它根据Parse.com对您进行身份验证,因为它是作为演示设置的。

这是使用Android v2.0中添加的帐户身份验证器,并将该帐户添加到Android中的帐户

更多信息请点击此处:

http://udinic.wordpress.com/2013/04/24/write-your-own-android-authenticator/ http://www.jiahaoliuliu.com/2012/05/android-account-manager-part-i.html http://www.c99.org/2010/01/23/writing-an-android-sync-provider-part-1/