ServiceStack OAuth2移动本机身份验证

时间:2017-03-12 12:40:03

标签: servicestack

我需要通过OAuth 2登录如何在不使用Android的WebView的情况下执行此操作? 感谢。

1 个答案:

答案 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。