Получение дополнительных заявок пользователей на Google Authentication в Do tnet Core - PullRequest
0 голосов
/ 21 января 2020

Я хотел бы аутентифицировать некоторых пользователей, входящих в нашу организацию GSuite, и получить некоторую дополнительную информацию, такую ​​как организационное подразделение или членство в определенной группе.

Я много пробовал вариантов, но многообещающий из здесь: Asp. Net Ядро входа в Google oauth ограничивает доступ и получает роли g-suite

app.UseGoogleAuthentication(new GoogleOptions()
    {
        Scope =
        {   "https://www.googleapis.com/auth/admin.directory.domain.readonly",
            "https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly"
        },
        ClientId = Configuration["Authentication:Google:ClientId"],
        ClientSecret = Configuration["Authentication:Google:ClientSecret"],
        Events = new OAuthEvents()
        {
            OnTicketReceived = e =>
            {
                var claims = e.Principal.Claims;
                // Set breakpoint here and examine claims.
                return Task.CompletedTask;
            }
        }
    });

Я включил admin SDK & в конфигурации экрана согласия oAuth я добавил области https://www.googleapis.com/auth/admin.directory.domain.readonly и https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly (этот шаг показался неправильным)

Когда я вхожу в Google, меня просят подтвердить, что мое приложение должно иметь доступ к дополнительным утверждениям, но когда я проверяю утверждения в OnTicketReceived, дополнительных утверждений нет.

Я также пытался добавить заявление на день рождения согласно https://docs.microsoft.com/en-us/aspnet/core/security/authentication/social/additional-claims?view=aspnetcore-3.1#how -в добавление -additional-custom-tokens но нет различий в утверждениях, которые я вижу.

Глядя на это: https://accounts.google.com/.well-known/openid-configuration кажется, что есть только очень маленькие количество претензий su pported

...