it-swarm.com.de

IN.User.Authorize Callback wurde nie ausgelöst

Seit heute hat unsere Anwendung, die das LinkedIn Javascript SDK zur Authentifizierung der Benutzer verwendet, nicht mehr funktioniert . Wir haben festgestellt, dass der Aufruf von https://platform.linkedin.com/in.js jetzt zu weiterleitet https://platform.linkedin.com/xdoor/scripts/in.js .

Aufrufe an IN.User.Authorize(callbackFunction) öffnen somit erfolgreich das Authentifizierungsdialogfenster, aber der Rückruf wird nie mehr ausgelöst .

In einem anderen Teil unserer Anwendung verwenden wir IN.UI.Authorize.place().onWindowRemove.subscribe(callbackFunction), um das Schließen des Dialogs zu verfolgen. Diese Funktion wurde ebenfalls nicht mehr formuliert und öffnet jetzt ein neues Fenster mit der URL invalid://. Die Konsole gibt den folgenden Fehler aus:

jSecure Error: URL should be absolute with allowed schemas, relative, a hash fragment or query string. TODO?client_id=XXXX&type=user-agent in.js:7
​
jSecure Error: URL should be absolute with allowed schemas, relative, a hash fragment or query string. invalid://?xdOrigin=https%3A%2F%2FXXX-XXX&xdChannel=XXXX&xd_Origin_Host=https%3A%2F%2FXXXX.XXXX in.js:7 
​
jSecure Error: URL should be absolute with allowed schemas, relative, a hash fragment or query string. TODO?client_id=XXXX&type=user-agent

Haben Sie eine Idee, warum dies nicht mehr funktioniert?

BEARBEITEN: Fehler wieder aufgetaucht ab 2019 01 28.

6
klacointe

Versuchen Sie, window.IN.User.authorize durch window.IN.user.authorize zu ersetzen

window.IN.user.authorize gibt ein Versprechen zurück und ein erfolgreicher Rückruf wird nach dem erfolgreichen Login ausgeführt. Es ist seltsam, aber es funktioniert, wenn wir Benutzer durch Benutzer ersetzen

window.IN.user.authorize().then(function(data){
                    console.log("Logged in successfully .");
                    window.IN.API.Raw("/people/~:(id,first-name,last-name,formatted-name,headline,location,industry,current-share,num-connections,num-connections-capped,summary,specialties,positions,picture-url,site-standard-profile-request,api-standard-profile-request,public-profile-url,email-address)").method("GET").body().result(function (oData) {
                        that.props.dispatch(userCreation(linkedInProfileFormat(oData)));
                    });
                },function(error){
                    alert("Linkedin failed because of harshita !");
                });   
1
NavyCody

Versuchen Sie diesen Code. Ich habe einige Änderungen vorgenommen und für mich gut gearbeitet. muss window.IN.User.authorize () ersetzen TO window.IN.user.authorize () 

  <script type="text/javascript" src="//platform.linkedin.com/in.js">
            api_key: XXXXXXXXX
            authorize: true

        </script>

        <script type="text/javascript">

        function liAuth(){
        window.IN.user.authorize().then(function(){
        getProfileData();
        });
        }
        function setLoginBadge(profile) {
                if (!profile) {
                profHTML = "<p>You are not logged in</p>";
                }                       
                document.getElementById("given_name").value = profile.firstName;
                document.getElementById("family_name").value = profile.lastName;
                document.getElementById("email").value = profile.emailAddress;
                document.getElementById("verifyOauthRequestLinkedIn").submit();
                }


        function onError(error) {
        console.log(error);
        }

        function getProfileData() {
        IN.API.Profile("me")
        .fields(["id", "firstName", "lastName", "pictureUrl", "publicProfileUrl","email-address","headline"])
        .result(function(result) {
        setLoginBadge(result.values[0]);
                })
        .error(onError);
        }

        </script>

        <a href="#"><img onclick="liAuth()" src="/images/linkedIn.png"></a>
0
sumit katiyar