POST | /auth/{provider} | ||
---|---|---|---|
GET,POST | /auth |
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
public class dtos
{
/**
* Sign In
*/
@Api(Description="Sign In")
@DataContract
public static class Authenticate implements IPost, IMeta
{
/**
* AuthProvider, e.g. credentials
*/
@DataMember(Order=1)
public String provider = null;
@DataMember(Order=2)
public String userName = null;
@DataMember(Order=3)
public String password = null;
@DataMember(Order=4)
public Boolean rememberMe = null;
@DataMember(Order=5)
public String accessToken = null;
@DataMember(Order=6)
public String accessTokenSecret = null;
@DataMember(Order=7)
public String returnUrl = null;
@DataMember(Order=8)
public String errorView = null;
@DataMember(Order=9)
public HashMap<String,String> meta = null;
public String getProvider() { return provider; }
public Authenticate setProvider(String value) { this.provider = value; return this; }
public String getUserName() { return userName; }
public Authenticate setUserName(String value) { this.userName = value; return this; }
public String getPassword() { return password; }
public Authenticate setPassword(String value) { this.password = value; return this; }
public Boolean isRememberMe() { return rememberMe; }
public Authenticate setRememberMe(Boolean value) { this.rememberMe = value; return this; }
public String getAccessToken() { return accessToken; }
public Authenticate setAccessToken(String value) { this.accessToken = value; return this; }
public String getAccessTokenSecret() { return accessTokenSecret; }
public Authenticate setAccessTokenSecret(String value) { this.accessTokenSecret = value; return this; }
public String getReturnUrl() { return returnUrl; }
public Authenticate setReturnUrl(String value) { this.returnUrl = value; return this; }
public String getErrorView() { return errorView; }
public Authenticate setErrorView(String value) { this.errorView = value; return this; }
public HashMap<String,String> getMeta() { return meta; }
public Authenticate setMeta(HashMap<String,String> value) { this.meta = value; return this; }
}
@DataContract
public static class AuthenticateResponse implements IMeta, IHasSessionId, IHasBearerToken
{
@DataMember(Order=1)
public String userId = null;
@DataMember(Order=2)
public String sessionId = null;
@DataMember(Order=3)
public String userName = null;
@DataMember(Order=4)
public String displayName = null;
@DataMember(Order=5)
public String referrerUrl = null;
@DataMember(Order=6)
public String bearerToken = null;
@DataMember(Order=7)
public String refreshToken = null;
@DataMember(Order=8)
public Date refreshTokenExpiry = null;
@DataMember(Order=9)
public String profileUrl = null;
@DataMember(Order=10)
public ArrayList<String> roles = null;
@DataMember(Order=11)
public ArrayList<String> permissions = null;
@DataMember(Order=12)
public String authProvider = null;
@DataMember(Order=13)
public ResponseStatus responseStatus = null;
@DataMember(Order=14)
public HashMap<String,String> meta = null;
public String getUserId() { return userId; }
public AuthenticateResponse setUserId(String value) { this.userId = value; return this; }
public String getSessionId() { return sessionId; }
public AuthenticateResponse setSessionId(String value) { this.sessionId = value; return this; }
public String getUserName() { return userName; }
public AuthenticateResponse setUserName(String value) { this.userName = value; return this; }
public String getDisplayName() { return displayName; }
public AuthenticateResponse setDisplayName(String value) { this.displayName = value; return this; }
public String getReferrerUrl() { return referrerUrl; }
public AuthenticateResponse setReferrerUrl(String value) { this.referrerUrl = value; return this; }
public String getBearerToken() { return bearerToken; }
public AuthenticateResponse setBearerToken(String value) { this.bearerToken = value; return this; }
public String getRefreshToken() { return refreshToken; }
public AuthenticateResponse setRefreshToken(String value) { this.refreshToken = value; return this; }
public Date getRefreshTokenExpiry() { return refreshTokenExpiry; }
public AuthenticateResponse setRefreshTokenExpiry(Date value) { this.refreshTokenExpiry = value; return this; }
public String getProfileUrl() { return profileUrl; }
public AuthenticateResponse setProfileUrl(String value) { this.profileUrl = value; return this; }
public ArrayList<String> getRoles() { return roles; }
public AuthenticateResponse setRoles(ArrayList<String> value) { this.roles = value; return this; }
public ArrayList<String> getPermissions() { return permissions; }
public AuthenticateResponse setPermissions(ArrayList<String> value) { this.permissions = value; return this; }
public String getAuthProvider() { return authProvider; }
public AuthenticateResponse setAuthProvider(String value) { this.authProvider = value; return this; }
public ResponseStatus getResponseStatus() { return responseStatus; }
public AuthenticateResponse setResponseStatus(ResponseStatus value) { this.responseStatus = value; return this; }
public HashMap<String,String> getMeta() { return meta; }
public AuthenticateResponse setMeta(HashMap<String,String> value) { this.meta = value; return this; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /auth/{provider} HTTP/1.1
Host: techstacks.io
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<Authenticate xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
<provider>String</provider>
<UserName>String</UserName>
<Password>String</Password>
<RememberMe>false</RememberMe>
<AccessToken>String</AccessToken>
<AccessTokenSecret>String</AccessTokenSecret>
<ReturnUrl>String</ReturnUrl>
<ErrorView>String</ErrorView>
<Meta xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:KeyValueOfstringstring>
<d2p1:Key>String</d2p1:Key>
<d2p1:Value>String</d2p1:Value>
</d2p1:KeyValueOfstringstring>
</Meta>
</Authenticate>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <AuthenticateResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types"> <UserId>String</UserId> <SessionId>String</SessionId> <UserName>String</UserName> <DisplayName>String</DisplayName> <ReferrerUrl>String</ReferrerUrl> <BearerToken>String</BearerToken> <RefreshToken>String</RefreshToken> <RefreshTokenExpiry>0001-01-01T00:00:00</RefreshTokenExpiry> <ProfileUrl>String</ProfileUrl> <Roles xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d2p1:string>String</d2p1:string> </Roles> <Permissions xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d2p1:string>String</d2p1:string> </Permissions> <AuthProvider>String</AuthProvider> <ResponseStatus> <ErrorCode>String</ErrorCode> <Message>String</Message> <StackTrace>String</StackTrace> <Errors> <ResponseError> <ErrorCode>String</ErrorCode> <FieldName>String</FieldName> <Message>String</Message> <Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d5p1:KeyValueOfstringstring> <d5p1:Key>String</d5p1:Key> <d5p1:Value>String</d5p1:Value> </d5p1:KeyValueOfstringstring> </Meta> </ResponseError> </Errors> <Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:KeyValueOfstringstring> <d3p1:Key>String</d3p1:Key> <d3p1:Value>String</d3p1:Value> </d3p1:KeyValueOfstringstring> </Meta> </ResponseStatus> <Meta xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d2p1:KeyValueOfstringstring> <d2p1:Key>String</d2p1:Key> <d2p1:Value>String</d2p1:Value> </d2p1:KeyValueOfstringstring> </Meta> </AuthenticateResponse>