2016-04-20 23 views
0

即時通訊使用keystone API創建用戶(如在Fiware Keystone API Create User中)。Fiware keystone api創建用戶並訪問地平線

我的步驟:

創建項目有:

捲曲-s -h 「X-驗證令牌:17007fe11124bd71eb60」 -H 「內容類型: 應用/ JSON的」 -d「 {「tenant」:{「description」:「Project1」, 「name」:「proyecto1」,「enabled」:true}}' http://localhost:35357/v2.0/tenants -X POST |蟒蛇 -mjson.tool

創建角色:

捲曲-s -h 「X-驗證令牌:17007fe11124bd71eb60」 -H 「內容類型: 應用/ JSON的」 -d「 {「role」:{「name」:「Project1Admin」, 「description」:「Project Admin for project1」}}' http://localhost:35357/v3/roles |蟒-mjson.tool

創建用戶:

捲曲-s -H 「X-AUTH-令牌:17007fe11124bd71eb60」 -H 「內容類型: 應用/ JSON」 -d「{ 「user」:{「default_project_id」: 「d0f384973b9f4a57b975fcd9bef10c6e」,「description」:「admin1」, 「enabled」:true,「name」:「admin」,「password」:「admin」, 「email」: 「[email protected]」}}'http://localhost:35357/v2.0/users | 蟒蛇-mjson.tool

最後一步:創建用戶角色租戶關係:

捲曲-s -h 「X-驗證令牌:17007fe11124bd71eb60」 http://localhost:35357/v2.0/tenants/d0f384973b9f4a57b975fcd9bef10c6e/users/admin1/roles/OS-KS/0c10f475076345368724a03ccd1c3403 -X PUT

如果我檢查用戶:

捲曲-s -h 「X-驗證令牌:17007fe11124bd71eb60」 http://localhost:5000/v3/users/admin1 |蟒蛇-mjson.tool

響應:

{ 
    "user": { 
     "default_project_id": "d0f384973b9f4a57b975fcd9bef10c6e", 
     "description": "admin1", 
     "domain_id": "default", 
     "email": "[email protected]", 
     "enabled": true, 
     "id": "admin1", 
     "links": { 
      "self": "http://localhost:5000/v3/users/admin1" 
     }, 
     "name": "admin1", 
     "username": null 
    } 
} 

我認爲是很好的,但是我試着與地平線連接,並有一個錯誤「無效的用戶名或密碼」。結果即時得到在日誌如下:

keystone.log

2016-04-20 07:56:03.949 2150 WARNING keystone.common.wsgi [-] Could not find user: [email protected] 
2016-04-20 07:56:03.967 2150 INFO eventlet.wsgi.server [-] 127.0.0.1 - - [20/Apr/2016 07:56:03] "HEAD /v3/OS-TWO-FACTOR/two_factor_auth?user_name=admin1%40gmail.com&domain_name=Default HTTP/1.1" 404 159 0.077033 

horizo​​n.log:

[Wed Apr 20 07:59:41.934935 2016] [:error] [pid 5963:tid 
140154061260544] Login failed for user "[email protected]". 

任何人都知道爲什麼這個用戶是無法和天涯連接?

感謝

回答

1

在KeyRock,我們使用name字段來存儲用戶的電子郵件,並username字段來存儲它的用戶名。創建用戶時,請求中提供的所有屬性,但nameusername,default_project_id,domain_idenabled屬性都被序列化並存儲在名爲extra的字段中。因此,您的email屬性將被存儲在extra字段中。

註冊後,Horizo​​n在登錄Horizo​​n並提供用戶電子郵件後,向Keystone發送請求以搜索name字段中的電子郵件。由於您輸入的是[email protected],但您提供的實際名稱是admin1,因此登錄Horizo​​n將失敗。

[email protected]作爲名稱(而不是電子郵件)重新註冊用戶應該可以解決您的問題,但是如果您無法重新創建用戶,則還可以在登錄表單的電子郵件字段中輸入admin1

希望這可以解決您的問題!