You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@fineract.apache.org by "Joseph Makara (Jira)" <ji...@apache.org> on 2021/04/06 11:09:00 UTC

[jira] [Commented] (FINERACT-1340) Add client IDs for self-service user in auth credentials

    [ https://issues.apache.org/jira/browse/FINERACT-1340?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17315444#comment-17315444 ] 

Joseph Makara commented on FINERACT-1340:
-----------------------------------------

[https://github.com/apache/fineract/pull/1684]

Feedback welcome

Thanks

> Add client IDs for self-service user in auth credentials
> --------------------------------------------------------
>
>                 Key: FINERACT-1340
>                 URL: https://issues.apache.org/jira/browse/FINERACT-1340
>             Project: Apache Fineract
>          Issue Type: Improvement
>          Components: Client, User Management
>    Affects Versions: 1.5.0
>            Reporter: Joseph Makara
>            Priority: Major
>             Fix For: 1.6.0
>
>         Attachments: Screenshot from 2021-04-06 13-35-31.png
>
>
> -X POST /self/authentication doesn't return a list of {{clients}} IDs associated with userId as documented in swagger
> !Screenshot from 2021-04-06 13-35-31.png!
>  
> Request URL: https://mobile.mifos.io/fineract-provider/api/v1/self/authentication
> {code:java}
> curl \
> --header "Content-Type: application/json" \
> --header "Authorization: Basic c2VsZnNlcnZpY2VfaW1vYmlsZTpwYXNzd29yZA==" \
> --header "Fineract-Platform-TenantId: mobile" \
> --request POST \
> --data '{"username":"selfservice_imobile", "password":"password"}' \
> https://mobile.mifos.io/fineract-provider/api/v1/self/authentication --insecure
> {code}
> Returns
> {code:java}
> {
>    "username":"selfservice_imobile",
>    "userId":9,
>    "base64EncodedAuthenticationKey":"c2VsZnNlcnZpY2VfaW1vYmlsZTpwYXNzd29yZA\u003d\u003d",
>    "authenticated":true,
>    "officeId":1,
>    "officeName":"FOVISSSTE",
>    "roles":[
>       {
>          "id":2,
>          "name":"Self Service User",
>          "description":"self service user role",
>          "disabled":false
>       }
>    ],
>    "permissions":[
>       "REPORTING_SUPER_USER",
>       "ALL_FUNCTIONS_READ",
>       "BYPASS_TWOFACTOR",
>       "CHECKER_SUPER_USER",
>       "ALL_FUNCTIONS"
>    ],
>    "shouldRenewPassword":false,
>    "isTwoFactorAuthenticationRequired":false
> }
> {code}
> Expected result
> Test:
> {code:java}
> curl \
>   --header "Content-Type: application/json" \
>   --header "Authorization: Basic bWFrYXJhOnBhc3N3b3Jk" \
>   --header "Fineract-Platform-TenantId: default" \
>   --request POST \
>   --data  '{"username":"makara", "password":"password"}' \
>   https://xxxxxx.com.au:9443/fineract-provider/api/v1/self/authentication --insecure
> {code}
> Returns - 
>  "clients":[1] as shown in json below
> {code:java}
> {
>    "username":"makara",
>    "userId":6,
>    "base64EncodedAuthenticationKey":"bWFrYXJhOnBhc3N3b3Jk",
>    "authenticated":true,
>    "officeId":1,
>    "officeName":"Head Office",
>    "roles":[
>       {
>          "id":2,
>          "name":"Self Service User",
>          "description":"self service user role",
>          "disabled":false
>       }
>    ],
>    "permissions":[
>       "ALL_FUNCTIONS"
>    ],
>    "clients":[
>       1
>    ],
>    "shouldRenewPassword":false,
>    "isTwoFactorAuthenticationRequired":false
> }
> {code}
> Use case: I would like to
>  # authenticate customer (self service user), and extract clientId from clients[0] SelfAuthenticationApiResourceSwagger#clients
>  # use the clientId to call -> /self/clients/\{clientId}/accounts
> instead of
> a. authenticate
> b. Call -X GET /self/clients List Clients associated to the user
> c. use the clientId to call -> /self/clients/\{clientId}/accounts
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)