If you like BoxMatrix then please contribute Supportdata, Supportdata2, Firmware and/or Hardware (get in touch).
My metamonk@yahoo.com is not reachable by me since years. Please use hippie2000@webnmail.de instead.
Property:OAuth
BoxMatrix >> Lexicon >> Network-Protocols >> OAuth | @ BoxMatrix - IRC-Chat - Translate: de es fr it nl pl |
News | Selectors | Models | Accessories | Components | Environment | Config | Commands | System | Webif | Software | Develop | Lexicon | Community | Project | Media |
Computer | FRITZ | I18N | Telephony | Smarthome | Internet | Protocols | Multimedia | Formats | Hardware | Software | Research |
Protocol
Protocol: | OAuth | Wiki | Freetz | IPPF | whmf | AVM | Web |
Short for: | Open Authorization | ||||||
Location: | Lexicon >> Network-Protocols | ||||||
Weblinks: | Wikipedia.int - Wikipedia.de - RFC-6749 - RFC-6750 - OAuth-2.0 | ||||||
Description: | 2 protocols to simplify authorization |
Goto: FRITZ!OS - SMW-Browser
Details
OAuth (Open Authorization
) covers 2 protocols to simplify authorization, OAuth v1.0 and OAuth v2.0.
Both generations differ completely, and v1.0 is obsolete today. The RFC links above cover v2.0, which turned a standard.
The idea behind OAuth is sharing authorization across services without sharing any login credentials between these services.
For this an OAuth client requests an access token once, which does not contain the credentials but could be used for any
subsequent requests. Of course this token has to be kept confidential, since it represents the authorization.
OAuth is used by companies like Amazon, Google, Facebook, Microsoft, and Twitter, by the numerous APIs they provide,
and by many other online services, but also offline.
See also:
- Wikipedia: List of OAuth providers
- Developers: Login with Amazon
- Developers: Sign In with Google
- Developers: Facebook Login
- Developers: Sign in with Microsoft
- Developers: Log in with Twitter
FRITZ!OS
OAuth v1.0
In fw 5.07 AVM started to use OAuth v1.0 for Google-Contacts sync (gcupd) and libctlusb.so for ctlmgr.
In fw 5.27 they added Google-Calendar sync (gcalupd), also using OAuth v1.0.
On 2016-10-20 Google shutted down OAuth v1.0 in favor of OAuth v2.0[1].
OAuth v2.0
In fw 5.50 AVM added liboauth2.so to support OAuth v2.0. The function oauth2_init
from this time is still used by
the previously only OAuth v1.0 compatible clients gcupd, libctlusb.so and gcalupd.
In fw 7.08 AVM added an OAuth handler system. The function oauth2_handler_init
is used by libcmapi.so for ctlmgr.
In fw 7.19 AVM added an OAuth client / controller system, and MyFRITZ! OAuth authentification. The functionliboauth_controller_init
is used by libcmapi.so for ctlmgr, liboauth_client_init
is used by dect_manager
and ddnsd, in fw 7.39 also by avmspeechd, device_updatecheck and cloudmsgd.
The MyFRITZ! OAuth function liboauth_token_myfritz_compare
is used by libcmapi.so for ctlmgr.
In fw 7.39 AVM extended the client / controller system to authentificate with AVM.
The controller function liboauth_controller_get_avm_access_token
is used by libjuisclient.so. The client functionliboauth_client_get_avm_access_token
is used by libjuisclient.so, dect_manager, cloudmsgd and avmspeechd.
Services
Today these services use OAuth v2.0:
- Google-Contacts updater gcupd - fw 5.50+
- Google-Calendar updater gcalupd - fw 5.50+
- T-Cloud - libctlusb.so - fw 5.50+ - removed in recent 7.39 labor (ie 7590 r99710) - now WebDAV
- TMC-Hicloud - libctlusb.so - fw x.xx+ - removed in recent 7.39 labor
- Strato-Hicloud - libctlusb.so - fw x.xx+ - removed in recent 7.39 labor - now WebDAV
- MyFRITZ! - libcmapi.so, ddnsd - fw 7.19+
- Weather-Service - dect_manager - fw 7.19+
- Speech-Service - dect_manager, avmspeechd - fw 7.39+
- Relay-Service - cloudmsgd - fw 7.39+
- JUIS - libjuisclient.so, device_updatecheck - fw 7.39+
- TODO - WIP
There is also OAuth related network ipc communication through the AVMIPC-Datastore, which still has to be researched.
- NW_IPC_EVT_OAUTH_COM_CLIENT - event
- NW_IPC_EVT_OAUTH_COM_CONTROLLER - event
- NW_IPC_STA_OAUTH_SERVICE_STATES - state