php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 14-07-2015, 10:58
Siphrioth
 Registrierter Benutzer
Links : Onlinestatus : Siphrioth ist offline
Registriert seit: Jul 2015
Beiträge: 1
Siphrioth befindet sich auf einem aufstrebenden Ast
Standard X-Frame-Options Facebook Canvas SDK PHP Login Problem

Hallo,

ich versuche meine Problematik mal zu erklären und hoffe das es ein gibt der hier eine Lösung ggf. mir irgendwie helfen kann.

Also ich bin dabei eine Facebook app einzurichten, die beinhaltet nun meine website. Die Einstellungen soweit sind alle gemacht und hier mal der Code:
PHP-Code:
session_start();

header("Content-Type: text/html; charset=utf-8");
header('P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');

$app_id             'xxx';  //Facebook App ID
$app_secret         'xxx'//Facebook App Secret
$required_scope     'public_profile,email';//'public_profile, publish_actions, email'; //Permissions required
$redirect_url       'https://www.meinesite.com/fb/index.php'//FB redirects to this page with a code

require_once __DIR__ "/facebook-php-sdk-v4-4.0-dev/autoload.php";

use 
FacebookFacebookSession;
use 
FacebookFacebookRequest;
use 
FacebookGraphUser;
use 
FacebookFacebookRedirectLoginHelper;

FacebookSession::setDefaultApplication($app_id $app_secret);
$helper = new FacebookRedirectLoginHelper($redirect_url);

try {
  
$session $helper->getSessionFromRedirect();
} catch(
FacebookRequestException $ex) {
    die(
" Error : " $ex->getMessage());
} catch(
Exception $ex) {
    die(
" Error : " $ex->getMessage());
}


if (
$session){ 
    
$user_profile = (new FacebookRequest($session'GET''/me'))->execute()->getGraphObject(GraphUser::className());

//WENN USER EINGELOGT IST
   
}else{
$login_url $helper->getLoginUrl( array( 'scope' => $required_scope ) );
echo
"<script>top.location.href='".$login_url."'</script>";

Nun wie man vielleicht sieht läd er die login URL via top.location.href Dies hat aber zu folge das die Seite aus Facebook raus springt. ABER!!! Wenn ich das nicht habe, und jemand hatte die App noch nie betreten und die erforderlichen rechte nicht Akzeptiert. dann bekomme ich eine Blanke seite / Frame mit dem Fehler

FireFoxConsole
"Load denied by X-Frame-Options: URL does not permit framing"

ChromeConsole:

Invalid 'X-Frame-Options' header encountered when loading 'https://www.meineSeite.com/fb/': 'GOFORIT' is not a recognized directive. The header will be ignored.
(index):1 Refused to display 'https://www.facebook.com/v2.3/dialog/oauth?client_id=1662254424008050&redir…5989030898f90d082895410739&sdk=php-sdk-4.0.23&scope=public_profile%2Cemail' in a frame because it set 'X-Frame-Options' to 'DENY'.

Habe es im übrigen auch mit "SAMEORIGIN" schon Probiert dann kommt der Fehler

FireFoxLoad denied by X-Frame-Options: https://www.meineSeite.com/fb/ does not permit cross-origin framing.

Chrome
Refused to display 'https://www.meineSeite.com/fb/' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.


Ist aber ein User bereits mit den Rechten ausgestattet ggf. in der App angemeldet, so funktioniert es ohne "top."location.href und das er innerhalb von Facebook bleibt im Frame... Also liegt es scheinbar darin das er den Facebook Popup aufbaut für die Rechte befragung.

Jetzt meine Frage, wie könnte man das lösen? gibt es eine möglichkeit vorher die rechte zu prüfen ohne das man die $helper->getLoginUrl( ) nutzen muss um vielleicht ne art weiche zu stellen. oder wisst ihr vielleicht eine simple lösung?

Habe einiges schon ausprobiert und verzweifel so langsam dran. Vielen Dank vor her schon mal
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 14-07-2015, 13:30
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Die URL-Redirect-Variante des Login-Dialogs kann nicht in Frames oder Iframe jedweder Art angezeigt werden (aus Sicherheitsgründen). Du musst also per top.location.href erst mal aus dem Canvas „raus“, wenn du den Login-Dialog auf diese Weise aufrufen willst, dann führt da kein Weg dran vorbei.

Komfortabler und nutzerfreundlicher wird es, wenn du für den Login das JS SDK verwendest (Methode FB.login) – das erzeugt, wenn du dich „innerhalb“ von Facebook befindest, wie das mit einer Canvas-App der Fall ist, lediglich einen Overlay-Dialog, ohne die angezeigte Seite überhaupt zu verlassen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Java Software Development Kit (SDK) Tastatur Archiv / Trash 1 19-11-2012 10:30
Facebook App - Facebook Api problem PitPanda PHP Developer Forum 5 05-07-2012 19:15
delphi - canvas problem!! dringend paetz ASP, PERL, CGI, C und alles andere 10 29-10-2007 18:13
bei Frame-Weiterleitung kein Login yellow PHP Developer Forum 6 19-01-2005 15:33
Frame nach erfolgreichem login refreshn ?!? Darkspark HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 2 30-10-2004 14:22

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

SMT

Server Monitoring & Management Tool Das SMT wurde von einem Administrator für Administratoren entwickelt, es vereinfacht den Alltag in der klassischen Administration und Verwaltung. Mit dem SMT kannst Du alle Deine Server & Dienste verwalten und überwach

04.09.2020 palle_1977 | Kategorie: PHP
numaeks Web-Farbmixer

Die RGB-Farben lassen sich hier auf unterschiedliche Weise mischen. Zur Einstellung werden auch die Dreh- und Schieberegler mit Canvas verwendet. Gespeichert werden die Farben in einem Cookie.

04.09.2020 numaek | Kategorie: JAVASCRIPT/ Tools
phplinX-Erotikportal 4 ansehen phplinX-Erotikportal 4

Erweiterbares Portal speziell für Erotik mit den Modulen Webkatalog, Bannermanagement und Kleinanzeigenmarkt. Sämtliche Module können über einen einzigen Adminbereich verwaltet werden.

18.06.2020 Cosinus14 | Kategorie: PHP/ Anzeigenmarkt
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:38 Uhr.