openid connect: мобильное приложение и REST API с помощью Spring - PullRequest
0 голосов
/ 08 ноября 2018

Я разрабатываю мобильное приложение с Ionic (угловым) и API-интерфейсом с пружиной, я хочу включить метод аутентификации через openid-conect.

Я настраиваю REST API следующим образом

pom.xml

  <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.RELEASE</version>
    </parent>
    ......
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-config</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-oauth2-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-oauth2-jose</artifactId>
        </dependency>

application.yml

uaa-base-url: https://...../oidc/v1
spring:
  security:
    oauth2:
      client:
        registration:
          uaa:
            client-id: ...
            client-secret: ...
            authorizationGrantType: authorization_code
            redirect_uri_template: "{baseUrl}/login/oauth2/code/{registrationId}"
            scope: openid,document,email
            clientName: oauth2-id
        provider:
          uaa:
            token-uri: ${uaa-base-url}/token
            authorization-uri: ${uaa-base-url}/authorize
            user-info-uri: ${uaa-base-url}/userinfo
            jwk-set-uri: ${uaa-base-url}/jwks
            userNameAttribute: email

для мобильного приложения я планирую настроить его с помощью следующего плагина

https://github.com/manfredsteyer/angular-oauth2-oidc

Это использует ImplicitFlow, мой вопрос, это правильный способ сделать это? Является ли ImplicitFlow правильным выбором для мобильных приложений? Как долго длится токен?

Должен ли я добавить свой собственный сервер openid и поставить его в качестве провайдера, чтобы я мог лучше контролировать API?

...