2016-06-21 77 views
0

有沒有一種方法可以限制我的App Engine PHP應用程序僅用於某些Google帳戶持有者(當然是登錄的)?額外的要求是我的網站上的PHP腳本將通過AJAX調用。用戶不會看到Google登錄提示符,因爲他們是內部用戶,並且會知道他們應該已經登錄。限制對我的App Engine PHP應用程序訪問一組Google帳戶的權限?

看着PHP app.yaml https://cloud.google.com/appengine/docs/php/config/appref#handlers_login和用戶身份驗證信息https://cloud.google.com/appengine/docs/php/users/#choosing_an_authentication_option我wasn'牛逼清楚如何可以這樣(除了對管理角色這是過於放任這些用戶)實現

謝謝, 亞歷克斯

回答

2

一個很粗/簡單的解決辦法來實現這樣的:

app.yaml中,添加這樣的事情

- url: .* 
    script: main.php 
    login: required 

然後在main.php,像這樣

$user = \google\appengine\api\users\UserService::getCurrentUser(); 
if($user) { 
    if(in_array($user->getEmail(), ['[email protected]', '[email protected]'])) { 
     // OK, user is allowed 
    } else { 
     // Logged in, but UNKNOWN user 
    } 
} else { 
    // User not logged in 
} 
+0

看起來不錯,謝謝 –

1

您可以輕鬆地使用OAuth獲取用戶的電子郵件地址,而認證和使用允許一組電子郵件爲其他人提供資質和提升oauthexception

+0

謝謝。你的意思是按照湯姆的例子或者其他方式? –

+0

湯姆使用appengine構建的方式來確保表單記錄機制的URL,它不是oauth,但會工作以及我想。 Oauth對谷歌帳戶的工作有點麻煩,但它的確是你的選擇。 – varun

相關問題