移动AngularJS应用程序上的用户身份验证

移动AngularJS应用程序上的用户身份验证,angularjs,authentication,woocommerce,ionic,Angularjs,Authentication,Woocommerce,Ionic,我想问一个问题,可能有不止一个解决方案,但在这个阶段我不知道如何解决这个问题 我目前正在构建一个内置Angular/Ionic的移动应用程序,该应用程序正在访问Woocommerce API,该应用程序需要传递消费者密钥和机密,以便获取产品信息并创建产品 我假设我无法直接访问手机上的数据库,在那里我可以存储这些详细信息来验证我的应用程序并将其指向正确的商业商店 即使我将这些存储在基于服务器的应用程序中,我的移动应用程序仍然需要通过基于服务器的应用程序的身份验证才能访问正确的woocommerce

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

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

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

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


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

通常,Phonegap/Ionic中的移动认证看起来是这样的:

  • 您可以使用Login/Pass或ApiKey发送身份验证请求
  • 服务器响应某些令牌
  • 您将令牌存储在本地存储中
  • 在每个请求中发送令牌
  • 下面是一个示例,如果您已经有一些令牌,如何将令牌传递给每个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;
        }
    }
    

    这是一篇关于AngularJS身份验证的好文章

    如果您需要高级别的安全性,那么您可以使用基于令牌的登录 比如:


    您可以使用

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