java - Salesforce login: SAML to oAuth fails giving error invalid_grant -


i performing salesforce login custom domain, have sso provider returns saml , mobile app consumes salesforce rest api consuming oauth token. conversion using saml-assertion allowing users log in webview sso- okta , redirecting user salesforce returning saml response in browser. sending saml response "https://login.salesforce.com/services/oauth2/token" getting access token returning error { "error": "invalid_grant", "error_uri": "https://na34.salesforce.com/setup/secur/samlvalidationpage.apexp", "error_description": "invalid assertion" }

my code hitting salesforce request final httpclient httpclient = new defaulthttpclient(); final httppost post = new httppost("https://login.salesforce.com/services/oauth2/token");

    post.setheader("content-type", "application/x-www-form-urlencoded");      string samlresponse = "pd94bwwgdmvyc2lvbj0ims4wiiblbmnvzgluzz0ivvrgltgipz48c2ftbdjwoljlc3bvbnnlihhtbg5zonnhbwwycd0idxjuom9hc2lzom5hbwvzonrjolnbtuw6mi4wonbyb3rvy29siib4bwxuczp4cz0iahr0cdovl3d3dy53my5vcmcvmjawms9ytuxty2hlbweiierlc3rpbmf0aw9upsjodhrwczovl2xvz2lulnnhbgvzzm9yy2uuy29tl3nlcnzpy2vzl29hdxromi90b2tlbiigsuq9il8yytnkmde3os04mzm5y2e2iibjc3n1zuluc3rhbnq9ijiwmtytmdqtmdzumdk6ntg6mtkuodg5wiigvmvyc2lvbj0imi4wij48c2ftbdi6sxnzdwvyihhtbg5zonnhbwwypsj1cm46b2fzaxm6bmftzxm6dgm6u0fntdoylja6yxnzzxj0aw9uij4ztvzhovk2zf9cdha0eha1bwd5n2hczmhdykxkdmtsr0l5v2q4sfr1z1p4zgfwyznyd0zfnutqzlzwbg1sshjqdwrza2lhnnlua2o5dtrrewhhn29rpc9zyw1smjpjc3n1zxi+pgrzolnpz25hdhvyzsb4bwxuczpkcz0iahr0cdovl3d3dy53my5vcmcvmjawmc8wos94bwxkc2lniyi+pgrzolnpz25lzeluzm8+pgrzoknhbm9uawnhbgl6yxrpb25nzxrob2qgqwxnb3jpdghtpsjodhrwoi8vd3d3lnczlm9yzy8ymdaxlzewl3htbc1legmtyze0bimilz48zhm6u2lnbmf0dxjltwv0ag9kiefsz29yaxrobt0iahr0cdovl3d3dy53my5vcmcvmjawmc8wos94bwxkc2lni2rzys1zagexii8+pgrzoljlzmvyzw5jzsbvukk9iinfmmezzdaxnzktodmzownhnii+pgrzolryyw5zzm9ybxm+pgrzolryyw5zzm9ybsbbbgdvcml0ag09imh0dha6ly93d3cudzmub3jnlziwmdavmdkveg1szhnpzynlbnzlbg9wzwqtc2lnbmf0dxjlii8+pgrzolryyw5zzm9ybsbbbgdvcml0ag09imh0dha6ly93d3cudzmub3jnlziwmdevmtaveg1slwv4yy1jmtruiyi+pgvjokluy2x1c2l2zu5hbwvzcgfjzxmgeg1sbnm6zwm9imh0dha6ly93d3cudzmub3jnlziwmdevmtaveg1slwv4yy1jmtruiyiguhjlzml4tglzdd0iehmilz48l2rzolryyw5zzm9ybt48l2rzolryyw5zzm9ybxm+pgrzokrpz2vzde1ldghvzcbbbgdvcml0ag09imh0dha6ly93d3cudzmub3jnlziwmdavmdkveg1szhnpzynzagexii8+pgrzokrpz2vzdfzhbhvlpnzianbpwitqzmd3cnvlsfqxl1l2oevlsu53nd08l2rzokrpz2vzdfzhbhvlpjwvzhm6umvmzxjlbmnlpjwvzhm6u2lnbmvksw5mbz48zhm6u2lnbmf0dxjlvmfsdwu+ws9rufrxs0xsthg0bevvckc3wm5tz3zpu3rsunjgrxhhovzpn3bnzxdgr2vubtqznexor3jnpt08l2rzolnpz25hdhvyzvzhbhvlpjxkczplzxljbmzvpjxkczpynta5rgf0yt48zhm6wduwounlcnrpzmljyxrlpk1jsuqwekndqtvhz0f3sujbz0lfri91rkluquxcz2nxagtqt09buurcuuf3z2jveen6qupcz05wqkfzvefsvlrnuxn3q1fzrfzruukkrxdkrffurvdnqlfhqtfvruj4tu5vmkz1suvaevlxnwphwe5qynpfu01cqudbmvvfq2hnslfyahbimjbnvtfoue1wrxdud1levlfrtapfmghhvdfjz1jfvk5umdvuvkzkqlzfbfbuaujrvlzkuvqxtkzveujqvgt4wkxpqkvueujpvdfrz1zwtkzjrvpqvwlcuvvrouvwvu5vclnvou9jrvzpvmtsu1qwnu5svtvvvxk0eeh6qwrcz05wqkfnvezrrjrhvzl0suvsbgjxogdrmlz5zedsbwfxtmhkr1v3sghjtk1uuxcktmpjd01euxpnrekzv2hjtk5erxhnveexturrek1estnxakncdwpfte1ba0dbmvvfqmhnq1zwtxhdekfkqmdovkjbz1rba05ctvjzdwpgqvlevlfrsev3mvrzvzrnum5kagjttnbjmk52tvjjd0vbwurwuvflrxdsqmvhbhziu0juvta4efvuqlbcz05wqkfzvfnfwlbvaujfcljvmvbube5vvwtgvvnvou9jrkjwvwxcufuwvlrjrtlpvezrdulfulbjrtvqvkncvluwvwdsazltsuzcu1qwulzrmvjkvda0z1jvnvcku1zkufrrmuzubfjutgpfzk1cmedbmvvfqxhnv1fyahbimjbnukdwdgj5qkraweowyvdacfkyrjbavendqwjnd2dnrxncz2nxagtqtwppqvfctuljqkh3s0jnuuq5zjfpqkhyvvnlvkxmu3b3dtdpvg45aeczvwp6dljbreriaitbdgxfbwfvvmrrq0pskzfrowpwajz2ofgxcnvqrdj5nxrwyk5lqk80qwrory95wm1dm2e1bffwyvnmbitnrwv4qwl3ays3cwrmk3q4wwirrhrynthhb3bovvbcuhveoxrqrkhztumktlzrvfdoyvjndloxody0cllky3e3l0lpqxhtzdbvz0j4d0lwqupkz1vjofzjd3znc3blnwdxthjoqxz3v0j6mufvr0jbugzob0lyvwptejnletd5clheytrwn2w1besrnytqcnfndmxyvefzoui0sm5vvmxyanjyvvdvl21juwnrz1ldmfnswnhjk2hns0jzvhq4oepnb3pjcnb1rthgbnfmvkh5tktpq2pyadryczzamwtxnmpmd3y2svrwathmdgllz0vrtzh5azhinm9vwknkculqzjrwcmxud2ftatjazwdidfyksldrqlredit6mgtxqtrhrkfbs0jnuunycjftcdrvdkj5wtzkr2jet3lxm3dnczzpn01deg1fa1uyedmyqwtfcdzzn1hmaxkztvl3swp3wle0c0w0qm1rwxpan1fpwfbqogrlz3jlrffltgs5dfhxt2d2sw9pq2loqwrrrflsum0yc1lnckkyu1vjeu0xyktecux3req4wjvpcm9mzxvrqxrntwzbcs9mmum2bljfv3jrdwrqee93yw9ozehrwwnskza2nk1otui4d0hrwurwujbpqkjzruzfmkpbyzk3d2ziszvindikbktiqu5unfnny3fjtufzr0j5cudtttq0qkfnrkfbtxzbrefzqwhsk0nqdna4vxdoz0tizngyufdkb1jpmc8xcthbsvvoafryv2xhegpkm1nkqmxnunnkrmdleuz0y3hfptwvzhm6wduwounlcnrpzmljyxrlpjwvzhm6wduwourhdge+pc9kczplzxljbmzvpjwvzhm6u2lnbmf0dxjlpjxzyw1smna6u3rhdhvzpjxzyw1smna6u3rhdhvzq29kzsbwywx1zt0idxjuom9hc2lzom5hbwvzonrjolnbtuw6mi4wonn0yxr1czptdwnjzxnzii8+pc9zyw1smna6u3rhdhvzpjxzyw1smjpbc3nlcnrpb24geg1sbnm6c2ftbdi9invybjpvyxnpczpuyw1lczp0yzptqu1mojiumdphc3nlcnrpb24iielepsjfnmyzy2fini01zjblzjc0osigsxnzdwvjbnn0yw50psiymde2lta0lta2vda5oju4oje5ljg4ovoiifzlcnnpb249ijiumci+phnhbwwyoklzc3vlcj4ztvzhovk2zf9cdha0eha1bwd5n2hczmhdykxkdmtsr0l5v2q4sfr1z1p4zgfwyznyd0zfnutqzlzwbg1sshjqdwrza2lhnnlua2o5dtrrewhhn29rpc9zyw1smjpjc3n1zxi+phnhbwwyoln1ymply3q+phnhbwwyok5hbwvjrcbgb3jtyxq9invybjpvyxnpczpuyw1lczp0yzptqu1mojeumtpuyw1lawqtzm9ybwf0onvuc3bly2lmawvkii8+phnhbwwyoln1ymply3rdb25maxjtyxrpb24gtwv0ag9kpsj1cm46b2fzaxm6bmftzxm6dgm6u0fntdoylja6y206ymvhcmvyij48c2ftbdi6u3viamvjdenvbmzpcm1hdglvbkrhdgegtm90t25pckfmdgvypsiymde2lta0lta2vda5oju5oje5ljg4ovoiifjly2lwawvudd0iahr0chm6ly9sb2dpbi5zywxlc2zvcmnllmnvbs9zzxj2awnlcy9vyxv0adivdg9rzw4ilz48l3nhbwwyoln1ymply3rdb25maxjtyxrpb24+pc9zyw1smjptdwjqzwn0pjxzyw1smjpdb25kaxrpb25zie5vdejlzm9yzt0imjaxni0wnc0wnlqwoto1odoxos44odlaiibob3rpbk9yqwz0zxi9ijiwmtytmdqtmdzumdk6ntk6mtkuodg5wii+phnhbwwyokf1zgllbmnlumvzdhjpy3rpb24+phnhbwwyokf1zgllbmnlpmh0dhbzoi8vbg9naw4uc2fszxnmb3jjzs5jb208l3nhbwwyokf1zgllbmnlpjwvc2ftbdi6qxvkawvuy2vszxn0cmljdglvbj48l3nhbwwyoknvbmrpdglvbnm+phnhbwwyokf1dghuu3rhdgvtzw50ief1dghusw5zdgfudd0imjaxni0wnc0wnlqwoto1odoxos44odlaij48c2ftbdi6qxv0ag5db250zxh0pjxzyw1smjpbdxrobknvbnrlehrdbgfzc1jlzj51cm46b2fzaxm6bmftzxm6dgm6u0fntdoylja6ywm6y2xhc3nlczp1bnnwzwnpzmllzdwvc2ftbdi6qxv0ag5db250zxh0q2xhc3nszwy+pc9zyw1smjpbdxrobknvbnrlehq+pc9zyw1smjpbdxrobln0yxrlbwvudd48c2ftbdi6qxr0cmlidxrlu3rhdgvtzw50pjxzyw1smjpbdhryawj1dgugtmftzt0ic3nvu3rhcnrqywdliiboyw1lrm9ybwf0psj1cm46b2fzaxm6bmftzxm6dgm6u0fntdoylja6yxr0cm5hbwutzm9ybwf0onvuc3bly2lmawvkij48c2ftbdi6qxr0cmlidxrlvmfsdwugeg1sbnm6ehnppsjodhrwoi8vd3d3lnczlm9yzy8ymdaxl1hntfnjagvtys1pbnn0yw5jzsigehnponr5cgu9inhzonn0cmluzyi+ahr0cdovl2f4aw9tc3nvlmhlcm9rdwfwcc5jb20vumvxdwvzdfnhbwxszxnwb25zzs5hy3rpb248l3nhbwwyokf0dhjpynv0zvzhbhvlpjwvc2ftbdi6qxr0cmlidxrlpjxzyw1smjpbdhryawj1dgugtmftzt0ibg9nb3v0vvjmiiboyw1lrm9ybwf0psj1cm46b2fzaxm6bmftzxm6dgm6u0fntdoylja6yxr0cm5hbwutzm9ybwf0onvuc3bly2lmawvkij48c2ftbdi6qxr0cmlidxrlvmfsdwugeg1sbnm6ehnppsjodhrwoi8vd3d3lnczlm9yzy8ymdaxl1hntfnjagvtys1pbnn0yw5jzsigehnponr5cgu9inhzonn0cmluzyivpjwvc2ftbdi6qxr0cmlidxrlpjwvc2ftbdi6qxr0cmlidxrlu3rhdgvtzw50pjwvc2ftbdi6qxnzzxj0aw9upjwvc2ftbdjwoljlc3bvbnnlpg==";      samlresponse = base64urlencode(samlresponse);              //samlresponse = new string(base64.decode(samlresponse));     //samlresponse= urlencoder.encode(samlresponse);     //string assertion_type = urlencoder.encode("urn:ietf:params:oauth:grant-type:saml2-bearer");     string assertion_type= urlencoder.encode("urn:oasis:names:tc:saml:2.0:profiles:sso:browser") ;     string requestbody             = "grant_type=assertion&"             + "assertion_type=" + assertion_type             + "&assertion=" + samlresponse             + "&format=json&client_id=3mvg9y6d_btp4xp5mgy7hbfhcbljvklgiywd8htugzxdapc3xwf_5kjfvvlmrhrjudskig6ynkj9u4qyha7oq";      post.setentity(new stringentity(requestbody));     httpresponse response = httpclient.execute(post);      system.out.println("  execute of api " + entityutils.tostring(response.getentity())); 


Comments