是否可以拥有一个本地视图,该视图可以使用网站登录的身份验证api,然后使用webview继续使用web应用程序的其余部分。
本机应用程序上的逻辑:
您可以有一个本地视图,在其中您可以通过输入用户名和密码让用户使用API进行身份验证。成功认证后,您将获得Bearer令牌和刷新令牌以响应API。
网站上的逻辑:
网站应该以这样一种方式实现,即它可以接受querystring中的refreshtoken,该查询字符串可以从任何地方传递,无论是本地应用程序还是任何地方。此外,必须有一个承载令牌,它携带用户的信息,如用户ID、姓名、电子邮件等,但都是加密形式的,只能从服务器解密,该令牌可以存储在浏览器的cookie中。
现在,一旦querystring有了refreshtoken,就可以从服务器交换这个refreshtokne来代替Bearer令牌,最重要的是它只能交换一次,之后它将无效。一旦从API获得承载令牌,就可以将其写入浏览器cookie中。
网站应该看到,如果承载令牌存在于cookie中,那么它应该显示特定用户处于登录状态,并且该用户的其余功能可以在网站上继续。
摘要
从Native应用程序登录用户并获得刷新令牌
将此令牌传递到webview 中的网站查询字符串
将refreshtoken交换为承载令牌
将此承载令牌写入网站cookie。
注意:-网站会选择此cookie并显示用户处于登录状态。
以上@RAGHVENDERKATARIA的详细解释是正确的,但你必须在开发此类应用程序之前,也要阅读苹果的指导方针。如果你看看苹果公司的指导方针:
你似乎刚刚制作了一个应用程序,将UIWebView封装到加载一个特定的页面,因为你可以通过Safari加载,他们会拒绝像这样的应用程序。
不是很有用、独特的应用程序只是捆绑在一起的网站应用程序,或不提供任何持久的娱乐价值可能拒绝