Slide 1

Slide 1 text

Building mobile-first experiences on Box Platform Jonathan LeBlanc Director of Developer Advocacy, Box Twitter: @jcleblanc Github: https://github.com/jcleblanc

Slide 2

Slide 2 text

2 Box Platform Developer Workshop Webinar recording: Introduction to Box APIs http://bit.ly/introboxapis

Slide 3

Slide 3 text

3 Box Platform Developer Workshop 1.Native mobile SDKs in Box. 2.Setting up a Box application with the Swift SDK. 3.Generating and refreshing tokens for mobile environments. 4.Increasing token security with downscoping techniques. 5.Cross platform mobile development UI tools. What are we looking at today?

Slide 4

Slide 4 text

4 Box Platform Developer Workshop Native Mobile Development Box SDKs for building native mobile experiences

Slide 5

Slide 5 text

5 Box Platform Developer Workshop Android SDK iOS SDK Swift SDK (beta) Available Native Mobile SDKs

Slide 6

Slide 6 text

6 Box Platform Developer Workshop Token Management

Slide 7

Slide 7 text

7 Box Platform Developer Workshop Access Token Best Practices / Access tokens are valid for 1 hour and should be stored / reused. / Official server-side SDKs (Node, Java, .Net, Python) automatically refresh tokens. If these SDKs aren’t used, tokens need to be maintained manually. / Expired tokens will return a 401: Unauthorized error. This error should be handled to refresh the token. / JWT applications do not return a refresh token, use your standard auth credentials.

Slide 8

Slide 8 text

8 Box Platform Developer Workshop Downscoping Tokens

Slide 9

Slide 9 text

9 Box Platform Developer Workshop Downscoped Token Access Token Client-Side Code Downscoped token is deployed to client-side code, mobile environment, or UI tool. New access token that is tightly restricted in access rights (read / write) for a file or folder. Standard OAuth2 access token that is fully scoped for an enterprise or user. Token Downscoping Process

Slide 10

Slide 10 text

10 Box Platform Developer Workshop client.exchangeToken(appConfig.tokenScopes[service]).then((tokenInfo) => { // token available in tokenInfo.accessToken }).catch((err) => { console.error(err); }); Downscoping a Token (Node SDK)

Slide 11

Slide 11 text

11 Box Platform Developer Workshop Live Example • Setting up your package manager • Setting up the sample JWT application. • Setting up your token generation server code. • Improving the security of your token generation code with downscoping. Setting up your application with the Box Swift SDK

Slide 12

Slide 12 text

12 Box Platform Developer Workshop Signing up for the Swift Beta http://bit.ly/boxswiftbeta

Slide 13

Slide 13 text

13 Box Platform Developer Workshop Cross Platform Mobile Development UI Tools for responsive cross-platform apps

Slide 14

Slide 14 text

14 Box Platform Developer Workshop Box UI Tools

Slide 15

Slide 15 text

15 Box Platform Developer Workshop Box Embed Box View Box Elements Available UI and Embeddable Tools

Slide 16

Slide 16 text

16 Box Platform Developer Workshop Box View • HTML5 based component to embed the native Box file preview capabilities. • Responsive design to work across different devices and environments. • Uses a separate application type on the developer console, App Token Auth • App Token Auth only allows access to the following API functions: Upload File, Download File, Delete File, and Get Embed Link. Embedding preview capabilities for Box files in your own site

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

19 Box Platform Developer Workshop Box Embed • HTML5 based component to embed the entire box.com site, via an iframe, directly into your site or service. • Limited responsive capabilities with the iframe. • Uses a shared link for embedding content. Embed the entire box.com site into your own site or service

Slide 20

Slide 20 text

20 Box Platform Developer Workshop Box Elements • UI components built with React Native (JavaScript library). • Authentication and token agnostic: Works with JWT and OAuth flows. • User type agnostic: Works with app, managed, and external user types. Embed and customize common functionality of box.com in your own site.

Slide 21

Slide 21 text

21 Box Platform Developer Workshop Content Explorer Navigate Box files and folders within your app. Content Picker Select Box files and folders within your app Content Preview View docs, images, videos, 3D files, and more within your app Content Uploader Drag and drop files from a device into your app / Box. Open With Load Box content using G Suite, Adobe Sign, and more Sidebar See file attributes, statistics, and metadata.

Slide 22

Slide 22 text

22 Box Platform Developer Workshop Live Example • Setting up your first content explorer application. • Integrating downscoped tokens and special scopes. Building cross platform apps with Box Elements

Slide 23

Slide 23 text

Developer Training Workshop https://boxworks.box.com/developer-training October 2, 2019 | Moscone West, San Francisco, CA

Slide 24

Slide 24 text

Building mobile-first experiences on Box Platform Jonathan LeBlanc Director of Developer Advocacy, Box Twitter: @jcleblanc Github: https://github.com/jcleblanc