我们有一个多租户设置,可以为每个客户(K-12学区)提供服务。我们在网站上为每个客户提供一个子域。我们为所有客户端使用一个API / OAuth令牌,但会将其各自的登录回调分别添加到我们的令牌中。我们收到了来自Google的警告,内容如下
您的项目abre平台在重定向URI和原始URL中具有多个唯一域,其中许多域具有不相关的应用程序。这直接违反了Google API服务:用户数据政策,该政策要求项目在请求访问Google用户数据时,必须准确地向Google和我们的用户反映其身份和意图。
我们正在寻找有关在Google内部进行设置的最佳方法的指南。谢谢。
我们的客户代表告诉我们要打开支持通知单。我们做到了,他们将其路由到随机团队(例如GSuite)。最终,其中一位告诉我们获得帮助的最佳方法是在此处询问SO。我觉得很奇怪,但是什么也没做。
答案 0 :(得分:0)
让我检查一下,我了解您的情况。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct node
{
int data;
struct node *right;
struct node *left;
} NODE;
void *insert(int ins, NODE **start)
{
if (*start == NULL)
{
NODE *newNode = malloc(sizeof(NODE));
newNode->data = ins;
newNode->left = NULL;
newNode->right = NULL;
(*start) = newNode;
}
else if (ins < (*start)->data)
{
insert(ins, &((*start)->left));
}
else if (ins > (*start)->data)
{
insert(ins, &((*start)->right));
}
// if we already have this value in the tree then we will do nothing
// and ignore it.
return *start;
}
void printTree(NODE *start)
{
// print tree
if (start->left) printTree(start->left);
printf("Element value %d\n", start->data);
if (start->right) printTree(start->right);
}
int main ()
{
int number;
NODE *phead = NULL;
number = 15;
insert(number, &phead);
// printf("prints the first element (head): %d", head.data);
number = 12;
insert(number, &phead);
// printf("should print the left branch : %d", head.left->data); // <- THIS DOES NOT SHOW UP
number = 22;
insert(number, &phead);
number = 48;
insert(number, &phead);
number = 33;
insert(number, &phead);
// try a duplicate node data.
number = 48;
insert(number, &phead);
printTree(phead);
return 0;
}
,Element value 12
Element value 15
Element value 22
Element value 33
Element value 48
等)school1.edu
,school2.edu
)使用唯一的重定向URL 您应该做的是对所有租户(school1.edu/oauth
)的应用程序使用单个重定向。构造初始身份验证URL时,可以设置一个名为school2.edu/oauth
的参数,该参数将保留在流程中。因此,当Google重定向回您时,它将重定向到myapp.com/oauth
。然后,您位于state
的服务器代码可以重定向到myapp.com/oauth?state=school1
。