使用asp.net身份和Android授权的混合身份验证

使用asp.net身份和Android授权的混合身份验证,android,asp.net-web-api,oauth-2.0,google-oauth,asp.net-identity-2,Android,Asp.net Web Api,Oauth 2.0,Google Oauth,Asp.net Identity 2,我正在用asp做一个网站,它使用Identity(v2.0)和一个通过WebAPI连接到网站的Android应用程序 我已经将Identity配置为使用GoogleOAuth登录,效果非常好。现在,我正在尝试为应用程序制作一个Web API,并且我还需要对移动用户进行身份验证 我已经到了配置Identity以管理api的承载令牌的地步。但要执行登录,我找到的唯一方法是通过用户和密码,如下所示: 或者通过web执行OAuth挑战 就像Android一样。有没有一种方法可以配置Identity以使用

我正在用asp做一个网站,它使用Identity(v2.0)和一个通过WebAPI连接到网站的Android应用程序

我已经将Identity配置为使用GoogleOAuth登录,效果非常好。现在,我正在尝试为应用程序制作一个Web API,并且我还需要对移动用户进行身份验证

我已经到了配置Identity以管理api的承载令牌的地步。但要执行登录,我找到的唯一方法是通过用户和密码,如下所示:

或者通过web执行OAuth挑战

就像Android一样。有没有一种方法可以配置Identity以使用Google Oauth执行登录

我既没有找到管理外部承载令牌的方法,也没有找到使用Google身份验证令牌使用带有标识的Web Api进行签名的方法

也许我误解了什么


提前谢谢。

好的,不知怎么我找到了方法

  • 在Android中,使用scopeacquisition:server:获取ID令牌,就像在Google“Accounts Authentication and Authorization”文档中一样

  • 将Web API令牌endpoin作为用户发送电子邮件,并作为密码发送令牌

    grant_type=password&username={email}&password={GoogleToken}

  • 在服务器中OAuthAuthorizationServerProvider的extendend类中,我将github repo googleplus/gplus verifytoken csharp中的令牌验证添加到GrantResourceOwnerCredentials方法中

  • 如果令牌有效,我可以填充UserLoginInfo并使用UserManager查找用户

  • 然后,正常身份验证继续进行,用户身份验证正常


    无论如何,我认为必须有一种更优雅的方式来做这件事。

    好问题,我很高兴你自己找到了答案。请在回答你自己的问题时写下答案。我会投票的!:-)
    grant_type=password&username=user&password=pass