【问题标题】:User Authentication on a mobile AngularJS App移动 AngularJS 应用程序上的用户身份验证
【发布时间】:2015-10-25 03:23:07
【问题描述】:

我想问一个问题,可能有多个解决方案,但现阶段我不知道如何解决这个问题。

我目前正在构建一个使用 Angular/Ionic 构建的移动应用程序,该应用程序正在访问 Woocommerce API,该应用程序需要为此传递消费者密钥和密码,以便获取产品信息和创建产品。

我假设我无法直接访问手机上的数据库,我可以在其中存储这些详细信息以验证我的应用并将其指向正确的 woocommerce 商店。

即使我将这些存储在基于服务器的应用程序中,我的移动应用程序仍然需要对基于服务器的应用程序进行身份验证才能访问正确的 woocommerce 商店。

有人可以指出开发人员如何解决这个问题的正确方向吗?

【问题讨论】:

    标签: angularjs authentication woocommerce ionic


    【解决方案1】:

    Phonegap/Ionic 中的移动身份验证通常如下所示:

    1. 您使用 Login/Pass 或 ApiKey 发送身份验证请求。
    2. 服务器响应一些 Token。
    3. 您将 Token 存储在 localStorage 中。
    4. 随每个 ApiRequest 发送令牌。

    如果您已经有一些令牌,这里是如何将令牌传递给每个 API 请求的示例。

    angular.module('app').config(AppConfig);
    AppConfig.$inject = ['$httpProvider'];
    function AppConfig($httpProvider, $sceProvider) {  
        var token = simpleStorage.get('access_token'); // simpleStorage here is a js-plugin for using LocalStorage
        if(token){
            $httpProvider.defaults.headers.common['access-token'] = token;
        }
    }
    

    【讨论】:

    • 谢谢。这不会要求用户每次登录移动应用程序时都输入这些凭据吗?我想知道是否有一些永久的解决方案让用户只需登录一次?!
    • 没有。当输入登录名/密码时,用户应该只输入一次凭据。应用程序向服务器发送请求,服务器检查凭据并返回令牌。然后,应用商店令牌永久保存在本地存储中,或者直到它结束(如果令牌有过期日期)。
    【解决方案2】:

    这是一篇关于 angular-js 身份验证的好文章 https://medium.com/opinionated-angularjs/techniques-for-authentication-in-angularjs-applications-7bbf0346acec

    如果您需要高级别的安全性,那么您可以使用基于令牌的登录 喜欢:http://devcenter.kinvey.com/angular/tutorials/how-to-implement-safe-signin-via-oauth

    或 你可以使用http://jwt.io

    【讨论】:

      猜你喜欢
      • 2015-10-01
      • 2014-07-10
      • 1970-01-01
      • 1970-01-01
      • 2016-11-23
      • 2016-10-22
      • 2021-12-26
      • 2014-09-29
      • 1970-01-01
      相关资源
      最近更新 更多