我需要通过OAuth 2登录如何在不使用Android的WebView的情况下执行此操作? 感谢。
答案 0 :(得分:2)
在最新的v4.5.7 of ServiceStack中,您可以使用他们的SDK和previous saved access tokens登录Twitter,Facebook或Github。
通过AccessToken进行身份验证也是made available to OAuth2 providers,就像您可以通过将AccessToken添加到Authenticate
请求DTO直接进行身份验证一样,例如:
var request = new Authenticate
{
provider = "GoogleOAuth",
AccessToken = GoogleOAuthAccessToken,
};
var response = client.Post(request);
response.PrintDump();
虽然您首先需要检索AccessToken,但通常需要打开WebView以获取用户同意。
对于Google Auth以外的其他OAuth2提供程序,您需要提供VerifyAccessToken
的实现,该实现返回一个确定AccessToken是否有效的布尔值,例如:
new MyOAuth2Provider {
VerifyAccessToken = accessToken => MyValidate(ConsumerKey,accessToken),
}
对于每个OAuth提供商而言,这是不同的,其中一些提供商不提供允许您确定AccessToken是否对您的应用有效的API。