OAuth2OOo logo OAuth2OOo

Ce document en français.

The use of this software subjects you to our Terms Of Use and Data Protection Policy.

version 0.0.5


OAuth2OOo is part of a Suite of LibreOffice and/or OpenOffice extensions allowing to offer you innovative services in these office suites.
This extension is the implementation of the OAuth 2.0 protocol. Protocol allowing you to obtain your consent so that an application can access your data present at the GAFA.

Being free software I encourage you:

In short, to participate in the development of this extension. Because it is together that we can make Free Software smarter.

Uno OAuth2.0 API for LibreOffice / OpenOffice.

OAuth2OOo Wizard Page1 screenshot

OAuth2OOo Wizard Page2 screenshot

OAuth2OOo Wizard Page3 screenshot

OAuth2OOo Wizard Page4 screenshot

The OAuth2.0 protocol allows the connection to resource servers, after acceptance of the connection authorization, by exchange of tokens.

The revocation takes place in the management of the applications associated with your account.

No more password is stored in LibreOffice / OpenOffice.


It seems important that the file was not renamed when it was downloaded. If necessary, rename it before installing it.


This extension is not made to be used alone, but provide OAuth2 service to other LibreOffice / OpenOffice extensions.
Here’s how we use its API:

Create OAuth2 service:

identifier = “com.gmail.prrvchr.extensions.OAuth2OOo.OAuth2Service”
service = ctx.ServiceManager.createInstanceWithContext(identifier, ctx)

Initialize Session or at least Url:

initialized = service.initializeSession(registered_url, user_account)

initialized = service.initializeUrl(registered_url)

The returned value: initialized is True if registered_url and/or user_account has been retreived from the OAuth2 service configuration.

Get the access token:

format = ‘Bearer %s’
token = service.getToken(format)

Has been tested with:

I encourage you in case of problem :-(
to create an issue
I will try to solve it ;-)


What has been done for version 0.0.5:

What remains to be done for version 0.0.5: