OAuth2.0安全性如何在移动APP中运行?如果client_id受到损害会发生什么?

Ani*_*gar 7 redirect mobile-application oauth-2.0

Web应用程序中的OAuth 2.0使用重定向URI,其中身份验证提供程序重定向到重定向URI,并在应用程序注册期间使用访问令牌进行重定向之前,使用开发人员提供的已注册的URI进行验证.

对于移动应用,由于移动应用没有重定向URI,它是如何工作的?

如果有人获得客户端ID,他们可以使用相同的方法构建重复的应用程 在上述情况下,安全性如何运作?

Dar*_*rov 5

由于移动应用程序无法保证其机密性,client_secret因此可以使用不需要它的授权类型.这是Implicit Grant.我们的想法是使用response_type=token参数将移动浏览器重定向到授权端点:

https://example.com/authorize?response_type=token&client_id=CLIENT_ID&redirect_uri=http://REDIRECT_URI
Run Code Online (Sandbox Code Playgroud)

在针对身份提供者对用户进行身份验证后,浏览器将重定向回redirect_uri授权请求中指定的内容并传递访问令牌:

http://REDIRECT_URI/#token=ACCESS_TOKEN
Run Code Online (Sandbox Code Playgroud)

然后,您可以在浏览器中拦截对此特制网址的请求(通过订阅在网址更改时触发的相应事件),提取传递的访问令牌并使用此令牌进行经过身份验证的请求.

如果有人获得客户端ID,他们可以使用相同的方法构建重复的应用程 在上述情况下,安全性如何运作?

OAuth 2并非旨在保护您的应用程序的知识产权.它是一种身份验证协议.无论有没有,任何人都可以复制您的申请.我们的想法是,如果没有client_secret应用程序,则无法使用需要它的授权类型,并且通常会为已颁发的访问令牌提供更多权限和范围.