【发布时间】:2018-12-12 06:17:12
【问题描述】:
我在我的网站中使用angular-6-social-login 使用google 登录,如链接所示。现在它返回以下数据 =>
email:"xxxxx"
id:"xxxxxxx"
idToken:"xxxx.xxxxxxxxx.xxxxxx"
image:"https://lh5.googleusercontent.com/xxxx/photo.jpg"
name:"Abhishek Jaiswal"
provider:"google"
token:"ya29.GlztBZpLW2v1jld20GR0iHOjMiveYmDhnaDRjWmsmh8tH_DSVW4-lRnYIL4Eau2-ZKVXlFFK-alCk5-REBR22aKkeUUIats14KtXEGfHlZIw5iIlKP5LSuEAtmnG0w"
我在 Web Api 上将该 idToken 解码为JSON Web Token Decoder,并使用 idToken 的“at_hash”值交叉检查了令牌(google 提供的 accessToken)。 现在经过这么多的验证,我检查用户的先前注册,并在 if 块中注册他。
注意:我正在手动进行这些验证和注册。所以,我没有使用 Web ApiIdentity 提供的方法,比如 ExternalLogin 等。
在正常登录的情况下,我向http://localhost:57310/token 发出一个带有用户名、密码和grant_type 的post 请求,并为我提供了accessToken,因此它被授权。
但是,在这种情况下,我已经在 API 上,所以不需要任何 post 请求,并且我已经有令牌(谷歌),但是这个不是 web api 提供的,所以没有授权。
【问题讨论】:
标签: angular asp.net-web-api jwt access-token google-authentication