GithubHelp home page GithubHelp logo

isabella232 / mobile-connected-client Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tableau/mobile-connected-client

0.0 0.0 0.0 13 KB

Keep mobile users signed in with long-lived tokens. Works alone or in conjunction with the Mobile App Bootstrap

Objective-C 98.33% JavaScript 1.67%

mobile-connected-client's Introduction

Mobile Connected Client Plugin

Community Supported

The Connected Client Plugin is an Objective-C library written to accompany the Mobile App Bootstrap, but is also useful as a stand-alone class. It helps authenticate a user and keep them signed in using long-lived tokens. It can be used in the sample Mobile App Bootstrap or in another native mobile app.

As a plugin, it performs three authentication-related tasks:

  1. Check if the user is signed in. This function should always be called before trying to load Tableau content.
    TableauOAuth.checkSignInStatus()
  2. Manage long-lived tokens for a session. Long-lived tokens must be enabled on your server.
    TableauOAuth.requestOAuthTokens()
  3. Sign out the user.
    TableauOAuth.signOut()

Check Sign In Flow

           checkSignInStatus
                  |
        Is the session expired?
                  |
      __________________________
      |                           |
     NO                          YES
  User is signed in.              |
                          Does the app have tokens?
                                  |
                      __________________________
                      |                         |
                     YES                        NO
                      |                   User is NOT signed in.     
              Can they be refreshed?
                      |
              ___________________
             |                   |
            YES                  NO
      User is signed in.      User is NOT signed in.
                    

Long-lived tokens

The plugin completes four main tasks in order to handle long-lived tokens.

  1. Get initial access/refresh tokens
  2. Store in iOS Keychain
  3. Refresh access token if expired
  4. Revoke refresh and access token on sign out

Support

This collection is community supported and not officially 'blessed' by Tableau Engineering or Support. What does that mean? We didn't have a QA team test it. It's a tool for learning how to authenticate to Tableau Servers and stay signed-in using long-lived tokens. You should not expect that there are 0 bugs. If you have problems getting it to work, feel free to email us with questions, but we can't promise quick responses.

A standard disclaimer: mobile-connected-client is made available AS-IS with no support and no warranty whatsoever. Despite efforts to write good and useful code there may be bugs that cause unexpected and undesirable behavior. The software is strictly โ€œuse at your own risk.โ€ The good news: This is intended to be a self-service tool. You are free to modify it in any way to meet your needs.

mobile-connected-client's People

Contributors

benlower avatar ronzilla avatar tableau-ron avatar tedwas avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.