blob: 1ea3e7448515636ef199b2318bdf3134021bc4ce [file] [log] [blame]
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Users &amp; Devices &mdash; Apache Usergrid 1.0 documentation</title>
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
<script src="../_static/js/modernizr.min.js"></script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-nav-search">
<a href="../index.html" class="icon icon-home"> Apache Usergrid
</a>
<div class="version">
1.0
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<p class="caption"><span class="caption-text">Getting Started</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../introduction/overview.html">Getting Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../introduction/usergrid-features.html">Usergrid Features</a></li>
<li class="toctree-l1"><a class="reference internal" href="../introduction/data-model.html">Usergrid Data model</a></li>
<li class="toctree-l1"><a class="reference internal" href="../introduction/async-vs-sync.html">Async vs. sync calls</a></li>
</ul>
<p class="caption"><span class="caption-text">Using Usergrid</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../using-usergrid/creating-account.html">Creating a Usergrid Account</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using-usergrid/creating-a-new-application.html">Creating a new application</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using-usergrid/using-a-sandbox-app.html">Using a Sandbox Application</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using-usergrid/using-the-api.html">Using the API</a></li>
</ul>
<p class="caption"><span class="caption-text">Data Storage</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../data-storage/data-store-dbms.html">The Usergrid Data Store</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data-storage/optimizing-access.html">Data Store Best Practices</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data-storage/collections.html">Collections</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data-storage/entities.html">Entities</a></li>
</ul>
<p class="caption"><span class="caption-text">Data Queries</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../data-queries/querying-your-data.html">Querying your data</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data-queries/query-parameters.html">Query parameters &amp; clauses</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data-queries/operators-and-types.html">Query operators &amp; data types</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data-queries/advanced-query-usage.html">Advanced query usage</a></li>
</ul>
<p class="caption"><span class="caption-text">Entity Connections</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../entity-connections/connecting-entities.html">Connecting entities</a></li>
<li class="toctree-l1"><a class="reference internal" href="../entity-connections/retrieving-entities.html">Retrieving connections</a></li>
<li class="toctree-l1"><a class="reference internal" href="../entity-connections/disconnecting-entities.html">Disconnecting entities</a></li>
</ul>
<p class="caption"><span class="caption-text">Push Notifications</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="overview.html">Push notifications overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="adding-push-support.html">Adding push notifications support</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting-started.html">Getting started with push notifications</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorial.html">Tutorial: Push notifications sample app</a></li>
<li class="toctree-l1"><a class="reference internal" href="registering.html">Registering with a notification service</a></li>
<li class="toctree-l1"><a class="reference internal" href="creating-notifiers.html">Creating notifiers</a></li>
<li class="toctree-l1"><a class="reference internal" href="managing-users-and-devices.html">Managing users and devices</a></li>
<li class="toctree-l1"><a class="reference internal" href="creating-and-managing-notifications.html">Creating and managing notifications</a></li>
<li class="toctree-l1"><a class="reference internal" href="troubleshooting.html">Troubleshooting</a></li>
</ul>
<p class="caption"><span class="caption-text">Security &amp; Authentication</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../security-and-auth/app-security.html">Security &amp; token authentication</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security-and-auth/using-permissions.html">Using permissions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security-and-auth/using-roles.html">Using roles</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security-and-auth/authenticating-users-and-application-clients.html">Authenticating users &amp; app clients</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security-and-auth/user-authentication-types.html">Authentication levels</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security-and-auth/changing-token-time-live-ttl.html">Changing token expiration (time-to-live)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security-and-auth/authenticating-api-requests.html">Authenticating API requests</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security-and-auth/revoking-tokens-logout.html">Revoking tokens (logout)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security-and-auth/facebook-sign.html">Facebook sign in</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security-and-auth/securing-your-app.html">Security best practices</a></li>
</ul>
<p class="caption"><span class="caption-text">User Management &amp; Social Graph</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../user-management/user-management.html">User management &amp; social graph</a></li>
<li class="toctree-l1"><a class="reference internal" href="../user-management/working-user-data.html">Working with User Data</a></li>
<li class="toctree-l1"><a class="reference internal" href="../user-management/group.html">Working with group data</a></li>
<li class="toctree-l1"><a class="reference internal" href="../user-management/activity.html">Activity</a></li>
<li class="toctree-l1"><a class="reference internal" href="../user-management/user-connections.html">Social Graph Connections</a></li>
<li class="toctree-l1"><a class="reference internal" href="../user-management/user-connections.html#creating-other-connections">Creating other connections</a></li>
<li class="toctree-l1"><a class="reference internal" href="../user-management/messagee-example.html">App Example - Messagee</a></li>
</ul>
<p class="caption"><span class="caption-text">Geo-location</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../geolocation/geolocation.html">Geolocating your Entities</a></li>
</ul>
<p class="caption"><span class="caption-text">Assets &amp; Files</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../assets-and-files/uploading-assets.html">Uploading assets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../assets-and-files/retrieving-assets.html">Retrieving assets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../assets-and-files/folders.html">Folders</a></li>
</ul>
<p class="caption"><span class="caption-text">Counters &amp; Events</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../counters-and-events/events-and-counters.html">Counters &amp; events</a></li>
<li class="toctree-l1"><a class="reference internal" href="../counters-and-events/creating-and-incrementing-counters.html">Creating &amp; incrementing counters</a></li>
<li class="toctree-l1"><a class="reference internal" href="../counters-and-events/creating-and-incrementing-counters.html#decrementing-resetting-counters">Decrementing/resetting counters</a></li>
<li class="toctree-l1"><a class="reference internal" href="../counters-and-events/creating-and-incrementing-counters.html#using-counters-hierarchically">Using counters hierarchically</a></li>
<li class="toctree-l1"><a class="reference internal" href="../counters-and-events/retrieving-counters.html">Retrieving counters</a></li>
</ul>
<p class="caption"><span class="caption-text">Organizations &amp; Applications</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../orgs-and-apps/managing.html">Organization &amp; application management</a></li>
<li class="toctree-l1"><a class="reference internal" href="../orgs-and-apps/organization.html">Organization</a></li>
<li class="toctree-l1"><a class="reference internal" href="../orgs-and-apps/application.html">Application</a></li>
<li class="toctree-l1"><a class="reference internal" href="../orgs-and-apps/admin-user.html">Admin user</a></li>
</ul>
<p class="caption"><span class="caption-text">API Reference</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../rest-endpoints/api-docs.html">Methods</a></li>
<li class="toctree-l1"><a class="reference internal" href="../rest-endpoints/api-docs.html#models">Models</a></li>
<li class="toctree-l1"><a class="reference internal" href="../rest-endpoints/api-docs.html#sub-types">Sub-Types</a></li>
</ul>
<p class="caption"><span class="caption-text">Client SDKs</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../sdks/tbd.html">COMING SOON...</a></li>
</ul>
<p class="caption"><span class="caption-text">Installing Usergrid</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 Deployment Guide</a></li>
</ul>
<p class="caption"><span class="caption-text">More about Usergrid</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../reference/presos-and-videos.html">Presentations &amp; Videos</a></li>
<li class="toctree-l1"><a class="reference internal" href="../reference/contribute-code.html">How to Contribute Code &amp; Docs</a></li>
</ul>
</div>
&nbsp;
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">Apache Usergrid</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html">Docs</a> &raquo;</li>
<li>Users &amp; Devices</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/push-notifications/users-devices.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="users-devices">
<h1>Users &amp; Devices<a class="headerlink" href="#users-devices" title="Permalink to this headline"></a></h1>
<p>Users and Devices are the primary ways to identify access to the system.
Devices are great to track anonymous access, while Users allow you to
model signing up, signing in, etc.</p>
<div class="section" id="users">
<h2>Users<a class="headerlink" href="#users" title="Permalink to this headline"></a></h2>
</div>
<div class="section" id="properties">
<h2>Properties<a class="headerlink" href="#properties" title="Permalink to this headline"></a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="13%" />
<col width="10%" />
<col width="77%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Property</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td>uuid</td>
<td>UUID</td>
<td>User’s unique entity ID</td>
</tr>
<tr class="row-odd"><td>type</td>
<td>string</td>
<td>Type of entity, in this case “user”</td>
</tr>
<tr class="row-even"><td>created</td>
<td>long</td>
<td><a class="reference external" href="http://en.wikipedia.org/wiki/Unix_time">UNIX timestamp</a> of entity creation</td>
</tr>
<tr class="row-odd"><td>modified</td>
<td>long</td>
<td><a class="reference external" href="http://en.wikipedia.org/wiki/Unix_time">UNIX timestamp</a> of entity modification</td>
</tr>
<tr class="row-even"><td>username</td>
<td>string</td>
<td>Valid and unique string username (mandatory)</td>
</tr>
<tr class="row-odd"><td>password</td>
<td>string</td>
<td>User password</td>
</tr>
<tr class="row-even"><td>email</td>
<td>string</td>
<td>Valid and unique email address</td>
</tr>
<tr class="row-odd"><td>name</td>
<td>string</td>
<td>User display name</td>
</tr>
<tr class="row-even"><td>activated</td>
<td>boolean</td>
<td>Whether the user account is activated</td>
</tr>
<tr class="row-odd"><td>disabled</td>
<td>boolean</td>
<td>Whether the user account is administratively disabled</td>
</tr>
<tr class="row-even"><td>firstname</td>
<td>string</td>
<td>User first name</td>
</tr>
<tr class="row-odd"><td>middlename</td>
<td>string</td>
<td>User middle name</td>
</tr>
<tr class="row-even"><td>lastname</td>
<td>string</td>
<td>User last name</td>
</tr>
<tr class="row-odd"><td>picture</td>
<td>string</td>
<td>User picture</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="sets">
<h2>Sets<a class="headerlink" href="#sets" title="Permalink to this headline"></a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="23%" />
<col width="15%" />
<col width="62%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Set</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td>connections</td>
<td>string</td>
<td>Set of connection types (e.g., likes)</td>
</tr>
<tr class="row-odd"><td>rolenames</td>
<td>string</td>
<td>Set of roles assigned to a user</td>
</tr>
<tr class="row-even"><td>permissions</td>
<td>string</td>
<td>Set of user permissions</td>
</tr>
<tr class="row-odd"><td>credentials</td>
<td>string</td>
<td>Set of user credentials</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="relationshops">
<h2>Relationshops<a class="headerlink" href="#relationshops" title="Permalink to this headline"></a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="17%" />
<col width="15%" />
<col width="68%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Collection</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td>groups</td>
<td>group</td>
<td>Collection of groups to which a user belongs</td>
</tr>
<tr class="row-odd"><td>devices</td>
<td>device</td>
<td>Collection of devices in the service</td>
</tr>
<tr class="row-even"><td>activities</td>
<td>activity</td>
<td>Collection of activities a user has performed</td>
</tr>
<tr class="row-odd"><td>feed</td>
<td>activity</td>
<td>Inbox of activity notifications a user has received</td>
</tr>
<tr class="row-even"><td>roles</td>
<td>role</td>
<td>Set of roles assigned to a user</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="facebook-sign-in">
<h2>Facebook Sign-in<a class="headerlink" href="#facebook-sign-in" title="Permalink to this headline"></a></h2>
<p>You can authenticate your Apache Usergrid requests by logging into
Facebook. To access Apache Usergrid resources, you need to provide an
access token with each request (unless you use the sandbox app). You can
get an access token by connecting to an appropriate web service endpoint
and providing the correct client credentials — this is further described
in <a class="reference external" href="/authenticating-users-and-application-clients">Authenticating users and application
clients</a>. However, you
can also obtain an access token by logging into Facebook.</p>
<p>To enable authentication to Apache Usergrid through Facebook, do the
following in your app:</p>
<ol class="arabic">
<li><p class="first">Make a login call to the Facebook API (do this using the <a class="reference external" href="https://developers.facebook.com/docs/sdks/">Facebook
SDK</a> or
<a class="reference external" href="https://developers.facebook.com/docs/facebook-login/">API</a>). If
the login succeeds, a Facebook access token is returned.</p>
</li>
<li><p class="first">Send the Facebook access token to Apache Usergrid. If the Facebook
access token is valid and the user does not already exist in App
Services, Apache Usergrid provisions a new Apache Usergrid user. It
also returns an Apache Usergrid access token, which you can use for
subsequent Apache Usergrid API calls. Behind the scenes, Apache
Usergrid uses the Facebook access token to retrieve the user&#8217;s
profile information from Facebook.</p>
<p>If the Facebook access token is invalid, Facebook returns an OAuth
authentication error, and the login does not succeed.</p>
</li>
</ol>
<p>The request to authenticate to Apache Usergrid using a Facebook access
token is:</p>
<div class="highlight-python"><div class="highlight"><pre>GET https://api.usergrid.com/{my_org}/{my_app}/auth/facebook?fb_access_token={fb_access_token}
</pre></div>
</div>
<p>where:</p>
<ul class="simple">
<li>{my_org} is the organization UUID or organization name.</li>
<li>{my_app} is the application UUID or application name.</li>
<li>{fb_access_token} is the Facebook access token.</li>
</ul>
</div>
<div class="section" id="devices">
<h2>Devices<a class="headerlink" href="#devices" title="Permalink to this headline"></a></h2>
</div>
<div class="section" id="id1">
<h2>Properties<a class="headerlink" href="#id1" title="Permalink to this headline"></a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="11%" />
<col width="9%" />
<col width="80%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Property</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td>uuid</td>
<td>UUID</td>
<td>Entity unique ID</td>
</tr>
<tr class="row-odd"><td>type</td>
<td>string</td>
<td>Entity type (e.g., device)</td>
</tr>
<tr class="row-even"><td>created</td>
<td>long</td>
<td><a class="reference external" href="http://en.wikipedia.org/wiki/Unix_time">UNIX timestamp</a> of entity creation</td>
</tr>
<tr class="row-odd"><td>modified</td>
<td>long</td>
<td><a class="reference external" href="http://en.wikipedia.org/wiki/Unix_time">UNIX timestamp</a> of entity modification</td>
</tr>
<tr class="row-even"><td>name</td>
<td>string</td>
<td>Device name (mandatory)</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="relationships">
<h2>Relationships<a class="headerlink" href="#relationships" title="Permalink to this headline"></a></h2>
<p>Devices have the following associated collection.</p>
<table border="1" class="docutils">
<colgroup>
<col width="20%" />
<col width="11%" />
<col width="69%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Collection</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td>users</td>
<td>user</td>
<td>Collection of users to which a device belongs</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2013-2015, Apache Usergrid.
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../',
VERSION:'1.0',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.StickyNav.enable();
});
</script>
</body>
</html>