RRZE-Webteam / rrze-faudir

Plugin zur Darstellung des Personen- und Einrichtungsverzeichnis der FAU in Websites
GNU General Public License v3.0
0 stars 0 forks source link

API-Anbindung: Authkey #21

Closed xwolfde closed 2 weeks ago

xwolfde commented 2 months ago

Der API-Key zur Anbindung an api.fau.de soll bei der Nutzung der RRZE Multisite Netzwerkinstanz aus der Netzwerk-Setting genommen werden und nicht selbst eingegeben werden können. In diesem Fall soll der API Key auch nicht optisch im Backend angezeigt werden. Es sollte aber die Information angezeigt werden, dass der API-Keys aus der Netzwerkinstallaiton verwendet wird.

Nur wenn das Plugin in einer eigenen WordPress-Installaiton verwendet wird oder/und es keinen entsprechenden Wert aus der site-Option rrze-setting gibt, soll das EIngabefeld für ein eigenen API Key aktiviert werden.

Im Fall der Generierung der ABfrage wurde es im Plugin RRZE-Lectures ähnlich gemacht:

private function getKey(){
        $lectureOptions = get_option('rrze-lectures');

        if (!empty($lectureOptions['basic_ApiKey'])){
            return $lectureOptions['basic_ApiKey'];
        }elseif(is_multisite()){
            $settingsOptions = get_site_option('rrze_settings');
            if (!empty($settingsOptions->plugins->dip_apiKey)){
                return $settingsOptions->plugins->dip_apiKey;
            }
        }else{
            return '';
        }
    }

Bei diesem Plugin soll jedoch der Wert der Netzwerkinstanz immer Vorrang haben und nicht im elseif()-Zweig stecken. ZUdem soll nicht der APIKey verwendet werden, der bislang für RRZE Lectures in Verwendung ist. STattdessen soll ein eigener zusätzlicher Key verwendet werden. In den Server Settings wird hierzu ein neuer Wert plugins->faudir_public_apiKey abegelgt. D.h. Zuerst eine Bfrage, ob man is_multisite() true ist und ob get_site_option('rrze_settings')->plugins->faudir_public_apiKey existiert. Erst wenn dies leer ist, dann in die Options des Plugins schauen.