{"ref":"artifact:miyasuta-btp-ui5-show-userinfo","page":"/artifacts/miyasuta-btp-ui5-show-userinfo","json":"/artifacts/miyasuta-btp-ui5-show-userinfo.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"miyasuta-btp-ui5-show-userinfo","name":"btp-ui5-show-userinfo","artifact_type":"sample","ecosystem":"ui5","serves_ecosystems":["btp"],"domain":"security-and-compliance","secondary_domains":["ui-and-frontend-bridge"],"origin_ring":"independent","use_as":"reference","description":{"one_line":"A UI5 app that reads the signed-in user two ways, through the Fiori launchpad shell service and through the [@sap/approuter](artifact:sap-approuter) User API, and records which environments each answers in.","short":"UI5 app reading the signed-in user via launchpad and approuter","what_it_solves":"Which of the two ways to the signed-in user's name and e-mail answers depends on where the app runs, and the README records that as one table per way. `sap.ushell.services.UserInfo` returns dummy values in local development, answers in SAP Build Work Zone, and is not available when the app is opened directly from the [SAP HTML5 Application Repository service for SAP BTP](artifact:btp-html5-application-repository); the [@sap/approuter](artifact:sap-approuter) endpoints `/currentUser` and `/attributes` answer in both of those and not locally, since they are the router's own. Each table is followed by the JSON the endpoint returned, so the fields are visible without deploying: the shell service gives `ID` only in an S/4HANA launchpad, and `/attributes` adds `user_uuid`. The README states one boundary, that `/attributes` cannot retrieve custom attributes beyond the ones it lists, and cites KBA 3115516 for it.","when_not_to_use":"The repository publishes no licence, so reusing its code needs the author's permission."},"links":{"repo":"https://github.com/miyasuta/btp-ui5-show-userinfo"},"type_properties":{"form":{"value":"reference-application","sources":[{"url":"https://raw.githubusercontent.com/miyasuta/btp-ui5-show-userinfo/main/README.md","title":"miyasuta/btp-ui5-show-userinfo — README","checked":"2026-10-19","quote":"A sample application to explore methods for retrieving user information in UI5 applications deployed on SAP BTP."}]}},"demonstrates":["capability:authentication"],"maintainers":["actor:mio-yasutake"],"contributors":["actor:mio-yasutake"],"requires":[{"ref":"artifact:sap-approuter","for":"The /currentUser and /attributes endpoints the sample reads are the application router's own, so that half of the sample needs a router in front of the app.","requirement":"conditional","condition":"the User API endpoints are read; the launchpad shell service path needs no router","sources":[{"url":"https://raw.githubusercontent.com/miyasuta/btp-ui5-show-userinfo/main/README.md","title":"miyasuta/btp-ui5-show-userinfo — README, Overview","checked":"2026-10-19","quote":"**@sap/approuter User API** - Approuter endpoints (`/currentUser` and `/attributes`)"},{"url":"https://raw.githubusercontent.com/miyasuta/btp-ui5-show-userinfo/main/README.md","title":"miyasuta/btp-ui5-show-userinfo — README, Findings, User API","checked":"2026-10-19","quote":"| Local development | ❌ Not available (requires Approuter) |"}]}],"connects":[{"ref":"artifact:sap-approuter","kind":"data","direction":"outbound","condition":"the app reads the User API endpoints; the launchpad shell service path makes no call to the router","for":"Reading the signed-in user: the app calls `/currentUser` and `/attributes`, which the router serves and which answer with the user's first name, last name and e-mail, and `user_uuid` in the case of `/attributes`.","sources":[{"url":"https://raw.githubusercontent.com/miyasuta/btp-ui5-show-userinfo/main/README.md","title":"miyasuta/btp-ui5-show-userinfo — README, Overview","checked":"2026-10-19","quote":"**@sap/approuter User API** - Approuter endpoints (`/currentUser` and `/attributes`)"},{"url":"https://raw.githubusercontent.com/miyasuta/btp-ui5-show-userinfo/main/README.md","title":"miyasuta/btp-ui5-show-userinfo — README, /attributes Endpoint","checked":"2026-10-19","quote":"\"firstname\": \"John\",\n   \"lastname\": \"Doe\",\n   \"email\": \"john.doe@sap.com\",\n   \"name\": \"john.doe@sap.com\",\n   \"scopes\": [\"openid\", \"user_attributes\", \"uaa.user\"],\n   \"type\": \"public\",\n   \"user_uuid\": \"7bb399d6-9e92-4854-b118-23f2b1d96849\""}]}],"provenance":{"discovered_via":[{"source":"source:github","channel":"miyasuta"}],"first_seen":"2026-10-08"},"drafted_with_ai":true},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"one contributor, personally owned"},{"label":"Repository","tier":"fair","evidence":"pushed 2025-12, not archived"}],"compatibility":[{"label":"Declared for","tier":"unknown","evidence":"no UI5 release lines in the atlas"},{"label":"Survived majors","tier":"unknown","evidence":"no UI5 release lines in the atlas"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"good","evidence":"10 test files"},{"label":"Docs","tier":"fair","evidence":"README 2 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":15,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-25","npm":"not published under this name","stars":15,"forks":0,"open_issues":0,"archived":false,"pushed_at":"2025-12-24","license_spdx":null,"org_owned":false,"default_branch":"main","created_at":"2025-12-23T21:33:42Z","open_prs":0,"tree_truncated":false,"test_files":10,"workflows":0,"other_ci":false,"readme_bytes":2041,"docs_files":0,"changelog":false,"license_file":false,"dts_files":0,"first_commit":"2025-12-23","last_commit":"2025-12-24","commits":4,"contributors":1,"readme_path":"README.md","readme_sha":"68a7149a6dbc0c3a2bee7b22f1d63e0870e6174a","repo_read":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:mio-yasutake","name":"Mio Yasutake","json":"/actors/mio-yasutake.json"}],"contributors":[{"ref":"actor:mio-yasutake","name":"Mio Yasutake","json":"/actors/mio-yasutake.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}