Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
jamie_cawley
Advisor
Advisor

SAP HCP provides a service which can be used to obtain user information as well as log off the user.  The details regarding the userapi can be found at

https://help.hana.ondemand.com/help/frameset.htm?1de599bf722446849d2b2e10132df42a.html

Here's two simple examples on how this can be acheived within SAP Web IDE.

Adding the User Details to a View

Add a route into the neo-app.json to reference the userapi


{
        "path": "/services/userapi",
        "target": {
            "type": "service",
            "name": "userapi"
        }
    }



Create a json model to call the service


var userModel = new sap.ui.model.json.JSONModel("/services/userapi/currentUser");
sap.ui.getCore().setModel(userModel, "userapi");



Now within a view create some fields to display the data returned by the service


<Label text="User Name"></Label>
<Text xmlns="sap.m" text="{userapi>/name}"></Text>
<Label text="First Name"></Label>
<Text xmlns="sap.m" text="{userapi>/firstName}"></Text>
<Label text="Last Name"></Label>
<Text xmlns="sap.m" text="{userapi>/lastName}"></Text>
<Label text="Display Name"></Label>
<Text xmlns="sap.m" text="{userapi>/displayName}"></Text>
<Label text="Email"></Label>
<Text xmlns="sap.m" text="{userapi>/email}"></Text>



Adding a Logout Button to Your Application

In a view add a button to call a function


<Button xmlns="sap.m" text="Log Out" press="logUserOut"></Button>

Within the corresponding controller add the function to process the event.


logUserOut: function(){
    sap.m.URLHelper.redirect("logout.html", false);
}

Create a simple logout page



<!DOCTYPE HTML>
<html>
  <body class="sapUiBody" role="application">
  You have been logged out!
  </body>
</html>

Modify the neo-app.json to define the logoutPage property. Access to the logout.html does not require the user to be logged in.



"welcomeFile": "index.html",
  "logoutPage": "/logout.html",
  "routes": [
....


NOTE: When testing this it will only log you out of the application when it is deployed to HCP and in the active state.  When testing within Web IDE it will just perform the redirect without logging you out. 

Regards,

jamie.cawley

22 Comments