8

Spring OAuth Yetkilendirme sunucum var ve daha sonra bir istemci (id) için destek eklemek istiyorum. İlk müşteri ile erişim simgesi alabilirsiniz, ama ikinci müşteri ile erişim belirteci almaya çalışırken bu hatası olsun İlkbahar OAuth2 Kimlik Doğrulama Sunucusuna daha sonra bir istemci ekleme

clients 
      .inMemory().withClient(client).secret(clientSecret) 
      .resourceIds(resourceId) 
      .authorizedGrantTypes("client_credentials", "password", "refresh_token", "implicit", "authorization_code") 
      .authorities("ROLE_USER") 
      .scopes("read", "write") 
      .autoApprove(true) 
      .and() 
      .inMemory().withClient("acme").secret("acmesecret") 
      .resourceIds(resourceId) 
      .authorizedGrantTypes("client_credentials", "password", "refresh_token", "implicit", "authorization_code") 
      .authorities("ROLE_USER_ACME") 
      .scopes("read", "write") 
      .autoApprove(true); 

:

{ 
    "timestamp": 1456822249638, 
    "status": 401, 
    "error": "Unauthorized", 
    "message": "Bad credentials", 
    "path": "/oauth/token" 
} 

mümkün eklemek daha mı böyle müşterilerine yapılandırılmış sonra bir müşteri ve nasıl yapılır? Allso, istemcileri bir veritabanından nasıl okuyabilirim?

cevap

7

yerine içeride birden withClient s bitiştirmek, çoklu inMemory inşaatçılar kullanmayın biri inMemory:

@Override 
public void configure(ClientDetailsServiceConfigurer clients) throws Exception { 
    clients.inMemory() 
       .withClient("first") 
       .secret("secret") 
       .scopes("read") 
       .authorizedGrantTypes("password") 
      .and() 
       .withClient("sec") 
       .secret("secret") 
       .scopes("read") 
       .authorizedGrantTypes("password"); 
} 
+3

yerine application.yml-dosyası üzerinden bunu başarmak mümkün mü? –

+0

@AndreasLundgren: '.yml' dosyasıyla henüz hiç şansınız olmadı mı? – frhd

+0

Nope, biz aslında erişim gerekli, sadece iç BE sistemleri ve istemcileri herhangi bir üçüncü taraf arka sistemi olmadığından oAuth2 atlandı. –

İlgili konular