New article: started new article about google data usage

This commit is contained in:
alexandervnuchkov 2019-07-10 18:51:08 +03:00
parent f31600ff4c
commit 0278235d5e
3 changed files with 124 additions and 0 deletions

View File

@ -0,0 +1,97 @@
<%@ Control Language="C#" Inherits="BaseContentUserControls" %>
<%@ Register Namespace="TeamLab.Controls" Assembly="__Code" TagPrefix="cc" %>
<script runat="server">
protected override void Init()
{
PageTitle = PageCaption = "How ONLYOFFICE handles Google user data";
MetaKeyWords = "Google, user data";
MetaDescription = "How ONLYOFFICE handles Google user data";
}
</script>
<div class="MainHelpCenter">
<h1 class="subHeaderFeaturesCaption TipsCaption">How ONLYOFFICE handles Google user data</h1>
<div class="keyword_block">
</div>
<h2 id="application">Application</h2>
<p>ONLYOFFICE portals interact with Google by making requests to the official Google API using the <a target="_blank" href="https://oauth.net/2/">OAuth 2.0</a> authorization protocol. To work in accordance with this protocol, the ONLYOFFICE application (api-project-948651087073) was created in the <a target="_blank" href="https://console.developers.google.com">Google API Console</a>. The following services were connected to it: Google Drive API, People API, Contacts API.</p>
<p>Authorization keys with the redirect URL <span class="param-type">https://service.onlyoffice.com/oauth2.aspx</span> were generated for the ONLYOFFICE application. When a user wants to sign in to ONLYOFFICE with Google, the authorization code is requested and the current users page address is transferred to the "state" parameter.</p>
<p>After redirection to the Google API, the <span class="param-type">https://service.onlyoffice.com/oauth2.aspx</span> URL automatically redirects to the page specified in the "state" parameter. This is necessary due to the fact that all the addresses and domains the ONLYOFFICE application will use are not known in advance.</p>
<h2 id="userDataPortals">Handling Google user data within ONLYOFFICE portals</h2>
<ol class="multilevel_numbering">
<li><h5>Login</h5>
<ol class="multilevel_numbering">
<li>
For the authorization on the ONLYOFFICE portal under the existing user profile with Google, a correspondence is set between users Google and ONLYOFFICE accounts.
<p>On the ONLYOFFICE user profile page, there is a Login via Social Networks section with the corresponding Google button:</p>
<p>When clicking this button, a Google page that provides ONLYOFFICE application with access to the data opens with the following scope:</p>
<ul>
<li><a target="_blank" href="https://developers.google.com/identity/protocols/googlescopes#oauth2v2">https://www.googleapis.com/auth/userinfo.profile</a></li>
<li><a target="_blank" href="https://developers.google.com/identity/protocols/googlescopes#oauth2v2">https://www.googleapis.com/auth/userinfo.email</a></li>
</ul>
<p>With the specified scope, ONLYOFFICE application can get access to:</p>
<ul>
<li>see your personal info, including any personal info you've made publicly available,</li>
<li>view your email address.</li>
</ul>
<p>This action is performed using the <a target="_blank" href="https://developers.google.com/people/api/rest/v1/people/get">people.get</a> request. The ONLYOFFICE database stores the correspondence between the user identifier and email address in Google and the user profile identifier in ONLYOFFICE.</p>
</li>
<li>
On the authorization page of ONLYOFFICE portals, there is a corresponding button to sign in with Google:
<p>When clicking this button, a Google page that provides ONLYOFFICE application with access to the data opens with the following scope:</p>
<ul>
<li><a target="_blank" href="https://developers.google.com/identity/protocols/googlescopes#peoplev1">https://www.googleapis.com/auth/userinfo.profile</a></li>
<li><a target="_blank" href="https://developers.google.com/identity/protocols/googlescopes#peoplev1">https://www.googleapis.com/auth/userinfo.email</a></li>
</ul>
<p>With the specified scope, ONLYOFFICE application can get access to:</p>
<ul>
<li>see your personal info, including any personal info you've made publicly available,</li>
<li>view your email address</li>
</ul>
<p>This action is performed using the <a target="_blank" href="https://developers.google.com/people/api/rest/v1/people/get">people.get</a> request. The ONLYOFFICE database is searching for the correspondence between the user identifier and email address in Google and the user profile identifier in ONLYOFFICE. If such a correspondence is found, authentication is performed under the appropriate ONLYOFFICE user profile.</p>
</li>
<li>
On the <a target="_blank" href="https://www.onlyoffice.com/signin.aspx">sign in page</a> on the ONLYOFFICE website, there is a corresponding button to sign in with Google:
<p>When clicking this button, a Google page that provides ONLYOFFICE application with access to the data opens with the following scope:</p>
<ul>
<li><a target="_blank" href="https://developers.google.com/identity/protocols/googlescopes#peoplev1">https://www.googleapis.com/auth/userinfo.profile</a></li>
<li><a target="_blank" href="https://developers.google.com/identity/protocols/googlescopes#peoplev1">https://www.googleapis.com/auth/userinfo.email</a></li>
</ul>
<p>With the specified scope, ONLYOFFICE application can get access to:</p>
<ul>
<li>see your personal info, including any personal info you've made publicly available,</li>
<li>view your email address</li>
</ul>
<p>This action is performed using the <a target="_blank" href="https://developers.google.com/people/api/rest/v1/people/get">people.get</a> request. The ONLYOFFICE database is searching through all the portals for the correspondence between the user identifier and email address in Google and the user profile identifier in ONLYOFFICE. If such a correspondence is found, authentication is performed on the corresponding ONLYOFFICE portal under the corresponding ONLYOFFICE profile.</p>
</li>
<li>
In the Login section of <a target="_blank" href="https://personal.onlyoffice.com/">ONLYOFFICE Personal</a>, there is a corresponding button to sign in with Google:
<p>When clicking this button, a Google page that provides ONLYOFFICE application with access to the data opens with the following scope:</p>
<ul>
<li><a target="_blank" href="https://developers.google.com/identity/protocols/googlescopes#peoplev1">https://www.googleapis.com/auth/userinfo.profile</a></li>
<li><a target="_blank" href="https://developers.google.com/identity/protocols/googlescopes#peoplev1">https://www.googleapis.com/auth/userinfo.email</a></li>
</ul>
<p>With the specified scope, ONLYOFFICE application can get access to:</p>
<ul>
<li>see your personal info, including any personal info you've made publicly available,</li>
<li>view your email address</li>
</ul>
<p>This action is performed using the <a target="_blank" href="https://developers.google.com/people/api/rest/v1/people/get">people.get</a> request. The ONLYOFFICE database is searching for the correspondence between the user identifier and email address in Google and the user profile identifier in ONLYOFFICE. If such a correspondence is found, authentication is performed under the appropriate ONLYOFFICE user profile.</p>
<p>If such a correspondence is not found, a new profile is created with the Google user name and email address. The ONLYOFFICE database stores the correspondence between the user identifier and email address in Google and the user profile identifier in ONLYOFFICE.</p>
</li>
</ol>
</li>
<li>
<h5>User import</h5>
<p>You are able to add several user profiles at once to your ONLYOFFICE portal importing contacts from Google.</p>
<p>Quick tip: Learn how to do it in <a href="<%=VirtualPathUtility.ToAbsolute("~/administratorguides/import-contacts-from-web.aspx")%>">this article</a>.</p>
<p>In the <b>People</b> module, there is the <b>Import People</b> option with the corresponding button to select <b>Google</b> as a source you would like to use the contact information from:</p>
<p>When clicking this button, a Google page that provides ONLYOFFICE application with access to the data opens with the following scope: <a target="_blank" href="https://developers.google.com/identity/protocols/googlescopes#peoplev1">https://www.googleapis.com/auth/contacts.readonly</a>. With the specified scope, ONLYOFFICE application can get access to:</p>
<ul>
<li>view and download your contacts.</li>
</ul>
<p>This action is performed using the <a target="_blank" href="https://developers.google.com/contacts/v3/#retrieving_all_contacts">Retrieving all contacts</a> request. ONLYOFFICE creates new user profiles on the portal using names and email addresses of your Google contacts.</p>
</li>
</ol>
</div>

View File

@ -0,0 +1,12 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Masters/Features/ModulesList.master" %>
<%@ Register Namespace="TeamLab.Controls" Assembly="__Code" TagPrefix="cc" %>
<asp:Content ID="content3" ContentPlaceHolderID="breadstop" runat="server">
<cc:LocalizeContent runat="Server" ControlName="~/Controls/Help/VariousControls/TopControls/SettingsTop/SettingsTop.ascx" />
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="content" runat="Server">
<cc:LocalizeContent runat="Server" ControlName="~/Controls/Help/TipsTricks/General/GoogleUserData/GoogleUserData.ascx" />
</asp:Content>
<asp:Content ID="content1" ContentPlaceHolderID="leftmenupage" runat="server">
<div class="tipspage documents">
</asp:Content>

View File

@ -4307,4 +4307,19 @@ dd {
} }
.left_option { .left_option {
float: left; float: left;
}
.multilevel_numbering {
counter-reset: section;
> li {
list-style-type: none;
padding-left: 30px;
position: relative;
&:before {
position: absolute;
left: -30px;
top: 0;
counter-increment: section;
content: counters(section, ".") ".";
}
}
} }