| GET,POST | /api/auth/{provider} | ||
|---|---|---|---|
| GET,POST | /api/auth | 
import Foundation
import ServiceStack
/**
* Sign In
*/
// @Api(Description="Sign In")
// @DataContract
public class Authenticate : IPost, IMeta, Codable
{
    /**
    * AuthProvider, e.g. credentials
    */
    // @DataMember(Order=1)
    public var provider:String
    // @DataMember(Order=2)
    public var userName:String
    // @DataMember(Order=3)
    public var password:String
    // @DataMember(Order=4)
    public var rememberMe:Bool?
    // @DataMember(Order=5)
    public var accessToken:String
    // @DataMember(Order=6)
    public var accessTokenSecret:String
    // @DataMember(Order=7)
    public var returnUrl:String
    // @DataMember(Order=8)
    public var errorView:String
    // @DataMember(Order=9)
    public var meta:[String:String]
    required public init(){}
}
// @DataContract
public class AuthenticateResponse : IMeta, IHasSessionId, IHasBearerToken, Codable
{
    // @DataMember(Order=1)
    public var userId:String
    // @DataMember(Order=2)
    public var sessionId:String
    // @DataMember(Order=3)
    public var userName:String
    // @DataMember(Order=4)
    public var displayName:String
    // @DataMember(Order=5)
    public var referrerUrl:String
    // @DataMember(Order=6)
    public var bearerToken:String
    // @DataMember(Order=7)
    public var refreshToken:String
    // @DataMember(Order=8)
    public var refreshTokenExpiry:Date?
    // @DataMember(Order=9)
    public var profileUrl:String
    // @DataMember(Order=10)
    public var roles:[String]
    // @DataMember(Order=11)
    public var permissions:[String]
    // @DataMember(Order=12)
    public var authProvider:String
    // @DataMember(Order=13)
    public var responseStatus:ResponseStatus
    // @DataMember(Order=14)
    public var meta:[String:String]
    required public init(){}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/auth/{provider} HTTP/1.1 
Host: production-eros-gateway-api-supplierconnect.azurewebsites.net 
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"provider":"String","UserName":"String","Password":"String","RememberMe":false,"AccessToken":"String","AccessTokenSecret":"String","ReturnUrl":"String","ErrorView":"String","Meta":{"String":"String"}}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"UserId":"String","SessionId":"String","UserName":"String","DisplayName":"String","ReferrerUrl":"String","BearerToken":"String","RefreshToken":"String","RefreshTokenExpiry":"0001-01-01T00:00:00.0000000","ProfileUrl":"String","Roles":["String"],"Permissions":["String"],"AuthProvider":"String","ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"Meta":{"String":"String"}}