Bug 40294 - Implement Microsoft Office 365 wizard
Implement Microsoft Office 365 wizard
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: Office 365
UCS 4.1
Other Linux
: P5 normal (vote)
: ---
Assigned To: Florian Best
Daniel Tröder
:
Depends on: 41019
Blocks: 38950
  Show dependency treegraph
 
Reported: 2015-12-18 12:01 CET by Daniel Tröder
Modified: 2016-06-28 18:26 CEST (History)
4 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Tröder univentionstaff 2015-12-18 12:01:42 CET
The wizard should run after the App installation. It's job is to guide the user in creating a custom App in MS Azure that the listener module uses for user synchronization. The Azure account must be connected to the companies Office account, so that their Office 365 subscriptions can be used.

In svn://doku/trunk/intern/development/component/office365/wizard/ are images depicting the complete process.

Configuration that the user must do through the Azure Webinterface:
* Create AD (done when Azure account is created)
* Create App
** Set App-ID
** Set callback URL
** Set login URL
** Set App permissions on AD
** Download and upload App manifest

Data that the wizard must collect from the user:
* Apps client ID

At the end the wizard creates a URL for the user where it must consent to the App using above permissions. The user will then be redirected back to the wizard and live happily ever after.

As long as the listener knows the client ID and the tenant ID, there is no need to rerun the wizard. It would not hurt though, as long as the tenant is not changed.
Changing the tenant would invalidate all existing user data. A listener resync should fix that.
Comment 1 Daniel Tröder univentionstaff 2016-02-02 12:57:59 CET
Permissions are set by the joinscript so that it is useful and secure for the listener modules.

The wizard has to:
1. chown -R www-data /etc/univention-office365
2. # run until success (→useful data in token.json and ids.json)
3. chown -R listener:root /etc/univention-office365
Comment 2 Florian Best univentionstaff 2016-02-11 13:24:52 CET
The wizard functionality (frontend + backend) is implemented as wished.

Please REOPEN if you want to make text adjustments or add pictures/screenshots for it.
Comment 3 Daniel Tröder univentionstaff 2016-04-29 12:50:05 CEST
* I can click on "upload manifest" and it continues, without entering the "verified domain name" first.
* In IE11 it opens a new tab with the mainfest from UCS in. If I ctrl-S there, it will be saved as manifest_json.mht. Right-click works, but the pop-up solution not.
Comment 4 Florian Best univentionstaff 2016-04-29 13:00:18 CEST
(In reply to Daniel Tröder from comment #3)
> * I can click on "upload manifest" and it continues, without entering the
> "verified domain name" first.
This is your job. You have to validate the domain (which is '' in this case).

> * In IE11 it opens a new tab with the mainfest from UCS in. If I ctrl-S
> there, it will be saved as manifest_json.mht. Right-click works, but the
> pop-up solution not.
I don't see a solution here. Fix IE or give me a suggestion how to workaround this.
Comment 5 Florian Best univentionstaff 2016-04-29 16:27:39 CEST
(In reply to Florian Best from comment #4)
> (In reply to Daniel Tröder from comment #3)
> > * I can click on "upload manifest" and it continues, without entering the
> > "verified domain name" first.
> This is your job. You have to validate the domain (which is '' in this case).
Added a minimum-length of 1 constraint, which has this effect.
Comment 6 Daniel Tröder univentionstaff 2016-05-02 14:55:13 CEST
OK: build, install, reinstall, remove package univention-management-console-module-office365 and app 'office365'
OK: code review python code, superficial code review JS code
OK: wizard was extensively, manually blackbox tested